quickfix
Class SessionSettings

java.lang.Object
  extended by quickfix.SessionSettings

public class SessionSettings
extends java.lang.Object

Settings for sessions. Settings are grouped by FIX version and target company ID. There is also a default settings section that is inherited by the session-specific sections. Setting constants are declared in the classes using the settings. To find the string constants, navigate to the class constant for the setting, select the link for the setting and then and select the "Constant Field Values" link in the detailed field description.

See Also:
Acceptor, Initiator, FileLogFactory, ScreenLogFactory, FileStoreFactory, JdbcSetting, Session, DefaultSessionFactory

Field Summary
static java.lang.String BEGINSTRING
           
static java.lang.String SENDERCOMPID
           
static java.lang.String SENDERLOCID
           
static java.lang.String SENDERSUBID
           
static java.lang.String SESSION_QUALIFIER
           
static java.lang.String TARGETCOMPID
           
static java.lang.String TARGETLOCID
           
static java.lang.String TARGETSUBID
           
 
Constructor Summary
SessionSettings()
          Creates an empty session settings object.
SessionSettings(java.io.InputStream stream)
          Loads session settings from an input stream.
SessionSettings(java.lang.String filename)
          Loads session settings from a file.
 
Method Summary
 Dictionary get()
           
 Dictionary get(SessionID sessionID)
           
 boolean getBool(SessionID sessionID, java.lang.String key)
          Get a settings value as a boolean value.
 boolean getBool(java.lang.String key)
          Gets a boolean value from the default section of the settings.
 java.util.Properties getDefaultProperties()
          Returns the defaults for the session-level settings.
 double getDouble(SessionID sessionID, java.lang.String key)
          Get a settings value as a double number.
 double getDouble(java.lang.String key)
          Gets a double value from the default section of the settings.
 long getLong(SessionID sessionID, java.lang.String key)
          Get a settings value as a long integer.
 long getLong(java.lang.String key)
          Gets a long from the default section of settings.
 java.util.Properties getSessionProperties(SessionID sessionID)
          Return the settings for a session as a Properties object.
 java.util.Properties getSessionProperties(SessionID sessionID, boolean includeDefaults)
          Return the settings for a session as a Properties object.
 java.lang.String getString(SessionID sessionID, java.lang.String key)
          Get a settings string.
 java.lang.String getString(java.lang.String key)
          Gets a string from the default section of the settings.
 boolean isSetting(SessionID sessionID, java.lang.String key)
          Predicate for determining if a setting exists.
 boolean isSetting(java.lang.String key)
          Predicate for determining if a setting is in the default section.
static int[] parseSettingReconnectInterval(java.lang.String raw)
           
 void removeSetting(SessionID sessionID, java.lang.String key)
           
 java.util.Iterator<SessionID> sectionIterator()
           
 void set(Dictionary dictionary)
           
 void set(java.util.Map<java.lang.Object,java.lang.Object> defaults)
          Adds defaults to the settings.
 void set(SessionID sessionID, Dictionary dictionary)
           
 void setBool(SessionID sessionID, java.lang.String key, boolean value)
          Sets a boolean-valued session setting.
 void setBool(java.lang.String key, boolean value)
          Set a default boolean parameter.
 void setDouble(SessionID sessionID, java.lang.String key, double value)
          Sets a double-valued session setting.
 void setDouble(java.lang.String key, double value)
          Set a default double parameter.
 void setLong(SessionID sessionID, java.lang.String key, long value)
          Sets a long integer-valued session setting.
 void setLong(java.lang.String key, long value)
          Set a default long parameter.
 void setString(SessionID sessionID, java.lang.String key, java.lang.String value)
          Sets a string-valued session setting.
 void setString(java.lang.String key, java.lang.String value)
          Set a default string parameter.
 void setVariableValues(java.util.Properties variableValues)
          Set properties that will be the source of variable values in the settings.
 int size()
           
 void toStream(java.io.OutputStream out)
           
 java.lang.String toString()
           
 void toString(java.io.PrintWriter writer)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

BEGINSTRING

public static final java.lang.String BEGINSTRING
See Also:
Constant Field Values

SENDERCOMPID

public static final java.lang.String SENDERCOMPID
See Also:
Constant Field Values

SENDERSUBID

public static final java.lang.String SENDERSUBID
See Also:
Constant Field Values

SENDERLOCID

public static final java.lang.String SENDERLOCID
See Also:
Constant Field Values

TARGETCOMPID

public static final java.lang.String TARGETCOMPID
See Also:
Constant Field Values

TARGETSUBID

public static final java.lang.String TARGETSUBID
See Also:
Constant Field Values

TARGETLOCID

public static final java.lang.String TARGETLOCID
See Also:
Constant Field Values

SESSION_QUALIFIER

public static final java.lang.String SESSION_QUALIFIER
See Also:
Constant Field Values
Constructor Detail

SessionSettings

public SessionSettings()
Creates an empty session settings object.


SessionSettings

public SessionSettings(java.lang.String filename)
                throws ConfigError
Loads session settings from a file.

Parameters:
filename - the path to the file containing the session settings
Throws:
ConfigError

SessionSettings

public SessionSettings(java.io.InputStream stream)
                throws ConfigError
Loads session settings from an input stream.

Parameters:
stream - the input stream
Throws:
ConfigError
Method Detail

getString

public java.lang.String getString(java.lang.String key)
                           throws ConfigError,
                                  FieldConvertError
Gets a string from the default section of the settings.

Parameters:
key -
Returns:
the default string value
Throws:
ConfigError
FieldConvertError

getString

public java.lang.String getString(SessionID sessionID,
                                  java.lang.String key)
                           throws ConfigError,
                                  FieldConvertError
Get a settings string.

Parameters:
sessionID - the session ID
key - the settings key
Returns:
the string value for the setting
Throws:
ConfigError - configurion error, probably a missing setting.
FieldConvertError - error during field type conversion.

getSessionProperties

public java.util.Properties getSessionProperties(SessionID sessionID,
                                                 boolean includeDefaults)
                                          throws ConfigError
Return the settings for a session as a Properties object.

Parameters:
sessionID -
includeDefaults - if true, include settings defaults in properties
Returns:
the Properties object with the session settings
Throws:
ConfigError
See Also:
Properties

getSessionProperties

public java.util.Properties getSessionProperties(SessionID sessionID)
                                          throws ConfigError
Return the settings for a session as a Properties object.

Parameters:
sessionID -
Returns:
the Properties object with the session settings
Throws:
ConfigError
See Also:
Properties

getDefaultProperties

public java.util.Properties getDefaultProperties()
Returns the defaults for the session-level settings.

Returns:
the default properties
Throws:
ConfigError

getLong

public long getLong(java.lang.String key)
             throws ConfigError,
                    FieldConvertError
Gets a long from the default section of settings.

Parameters:
key -
Returns:
the default value
Throws:
ConfigError
FieldConvertError

getLong

public long getLong(SessionID sessionID,
                    java.lang.String key)
             throws ConfigError,
                    FieldConvertError
Get a settings value as a long integer.

Parameters:
sessionID - the session ID
key - the settings key
Returns:
the long integer value for the setting
Throws:
ConfigError - configurion error, probably a missing setting.
FieldConvertError - error during field type conversion.

getDouble

public double getDouble(java.lang.String key)
                 throws ConfigError,
                        FieldConvertError
Gets a double value from the default section of the settings.

Parameters:
key -
Returns:
the default value
Throws:
ConfigError
FieldConvertError

getDouble

public double getDouble(SessionID sessionID,
                        java.lang.String key)
                 throws ConfigError,
                        FieldConvertError
Get a settings value as a double number.

Parameters:
sessionID - the session ID
key - the settings key
Returns:
the double number value for the setting
Throws:
ConfigError - configurion error, probably a missing setting.
FieldConvertError - error during field type conversion.

getBool

public boolean getBool(java.lang.String key)
                throws ConfigError,
                       FieldConvertError
Gets a boolean value from the default section of the settings.

Parameters:
key -
Returns:
the boolean value
Throws:
ConfigError
FieldConvertError

getBool

public boolean getBool(SessionID sessionID,
                       java.lang.String key)
                throws ConfigError,
                       FieldConvertError
Get a settings value as a boolean value.

Parameters:
sessionID - the session ID
key - the settings key
Returns:
the boolean value for the setting
Throws:
ConfigError - configurion error, probably a missing setting.
FieldConvertError - error during field type conversion.

setString

public void setString(SessionID sessionID,
                      java.lang.String key,
                      java.lang.String value)
Sets a string-valued session setting.

Parameters:
sessionID - the session ID
key - the setting key
value - the string value

setLong

public void setLong(SessionID sessionID,
                    java.lang.String key,
                    long value)
Sets a long integer-valued session setting.

Parameters:
sessionID - the session ID
key - the setting key
value - the long integer value

setDouble

public void setDouble(SessionID sessionID,
                      java.lang.String key,
                      double value)
Sets a double-valued session setting.

Parameters:
sessionID - the session ID
key - the setting key
value - the double value

setBool

public void setBool(SessionID sessionID,
                    java.lang.String key,
                    boolean value)
Sets a boolean-valued session setting.

Parameters:
sessionID - the session ID
key - the setting key
value - the boolean value

sectionIterator

public java.util.Iterator<SessionID> sectionIterator()

isSetting

public boolean isSetting(java.lang.String key)
Predicate for determining if a setting is in the default section.

Parameters:
key -
Returns:
true if setting is in the defaults, false otherwise

isSetting

public boolean isSetting(SessionID sessionID,
                         java.lang.String key)
Predicate for determining if a setting exists.

Parameters:
sessionID - the session ID
key - the setting key
Returns:
true is setting exists, false otherwise.

removeSetting

public void removeSetting(SessionID sessionID,
                          java.lang.String key)

setVariableValues

public void setVariableValues(java.util.Properties variableValues)
Set properties that will be the source of variable values in the settings. A variable is of the form ${variable} and will be replaced with values from the map when the setting is retrieved. By default, the System properties are used for variable values. If you use this method, it will override the defaults so use the Properties default value mechanism if you want to chain a custom properties object with System properties as the default.
 // Custom properties with System properties as default
 Properties myprops = new Properties(System.getProperties());
 myprops.load(getPropertiesInputStream());
 settings.setVariableValues(myprops);
 
 // Custom properties with System properties as override
 Properties myprops = new Properties();
 myprops.load(getPropertiesInputStream());
 myprops.putAll(System.getProperties());
 settings.setVariableValues(myprops);
 

Parameters:
variableValues -
See Also:
Properties, System

set

public void set(java.util.Map<java.lang.Object,java.lang.Object> defaults)
Adds defaults to the settings. Will not delete existing settings not overlapping with the new defaults, but will overwrite existing settings specified in this call.

Parameters:
defaults -

setBool

public void setBool(java.lang.String key,
                    boolean value)
Set a default boolean parameter.

Parameters:
key - the settings key
value - the settings value

setDouble

public void setDouble(java.lang.String key,
                      double value)
Set a default double parameter.

Parameters:
key - the settings key
value - the settings value

setLong

public void setLong(java.lang.String key,
                    long value)
Set a default long parameter.

Parameters:
key - the settings key
value - the settings value

setString

public void setString(java.lang.String key,
                      java.lang.String value)
Set a default string parameter.

Parameters:
key - the settings key
value - the settings value

size

public int size()

get

public Dictionary get(SessionID sessionID)
               throws ConfigError
Throws:
ConfigError

set

public void set(SessionID sessionID,
                Dictionary dictionary)
         throws ConfigError
Throws:
ConfigError

get

public Dictionary get()

set

public void set(Dictionary dictionary)
         throws ConfigError
Throws:
ConfigError

toString

public void toString(java.io.PrintWriter writer)

toStream

public void toStream(java.io.OutputStream out)

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

parseSettingReconnectInterval

public static int[] parseSettingReconnectInterval(java.lang.String raw)