# OptionConverter Class Reference

List of all members.

## Detailed Description

A convenience class to convert property values to specific types.

## Static Public Member Functions

static LogString | convertSpecialChars (const LogString &s)
static bool | toBoolean (const LogString &value, bool dEfault)
| If `value` is "true", then `true` is returned.
static int | toInt (const LogString &value, int dEfault)
static long | toFileSize (const LogString &value, long dEfault)
static LevelPtr | toLevel (const LogString &value, const LevelPtr &defaultValue)
static LogString | findAndSubst (const LogString &key, Properties &props)
| Find the value corresponding to `key` in `props`.
static LogString | substVars (const LogString &val, Properties &props)
| Perform variable substitution in string `val` from the values of keys found in the system propeties.
static LogString | getSystemProperty (const LogString &key, const LogString &def)
| Gets the specified system property.
static ObjectPtr | instantiateByClassName (const LogString &className, const Class &superClass, const ObjectPtr &defaultValue)
| Instantiate an object given a class name.
static ObjectPtr | instantiateByKey (Properties &props, const LogString &key, const Class &superClass, const ObjectPtr &defaultValue)
static void | selectAndConfigure (const File &configFileName, const LogString &clazz, spi::LoggerRepositoryPtr &hierarchy)
| Configure log4cxx given a configFileName.

## Member Function Documentation

static LogString convertSpecialChars | ( | const LogString & | s | ) | `[static]`

static LogString findAndSubst | ( | const LogString & | key,
|  | Properties & | props
| ) | `[static]`

| Find the value corresponding to `key` in `props`. Then perform variable substitution on the found value.

static LogString getSystemProperty | ( | const LogString & | key,
|  | const LogString & | def
| ) | `[static]`

Gets the specified system property.

Parameters:

  | key | The key to search for.
  | def | The default value to return.

Returns:
  the string value of the system property, or the default value if there is no property with that key.

static ObjectPtr instantiateByClassName | ( | const LogString & | className,
|  | const Class & | superClass,
|  | const ObjectPtr & | defaultValue
| ) | `[static]`

Instantiate an object given a class name.

Check that the `className` is a subclass of `superClass`. If that test fails or the object could not be instantiated, then `defaultValue` is returned.

Parameters:

  | className | The fully qualified class name of the object to instantiate.
  | superClass | The class to which the new object should belong.
  | defaultValue | The object to return in case of non-fulfillment

static ObjectPtr instantiateByKey | ( | Properties & | props,
|  | const LogString & | key,
|  | const Class & | superClass,
|  | const ObjectPtr & | defaultValue
| ) | `[static]`

static void selectAndConfigure | ( | const File & | configFileName,
|  | const LogString & | clazz,
|  | spi::LoggerRepositoryPtr & | hierarchy
| ) | `[static]`

Configure log4cxx given a configFileName.

The configFileName must point to a file which will be interpreted by a new instance of a log4cxx configurator.

All configurations steps are taken on the `hierarchy` passed as a parameter.

Parameters:

  | configFileName | The location of the configuration file.
  | clazz | The classname, of the log4cxx configurator which will parse the file `configFileName`. This must be a subclass of Configurator, or null. If this value is null then a default configurator of PropertyConfigurator is used, unless the filename pointed to by `configFileName` ends in '.xml', in which case DOMConfigurator is used.
  | hierarchy | The Hierarchy to act on.

static LogString substVars | ( | const LogString & | val,
|  | Properties & | props
| ) | `[static]`

Perform variable substitution in string `val` from the values of keys found in the system propeties.

The variable substitution delimeters are ${ and }.

For example, if the System properties contains "key=value", then the call

    String s = OptionConverter.substituteVars("Value of key is ${key}.");

will set the variable `s` to "Value of key is value.".

If no value could be found for the specified key, then the `props` parameter is searched, if the value could not be found there, then substitution defaults to the empty string.

For example, if system propeties contains no value for the key "inexistentKey", then the call

    String s = OptionConverter.subsVars("Value of inexistentKey is [${inexistentKey}]");

will set `s` to "Value of inexistentKey is []"

An IllegalArgumentException is thrown if `val` contains a start delimeter "${" which is not balanced by a stop delimeter "}".

Parameters:

  | val | The string on which variable substitution is performed.
  | props | The properties from which variable substitution is performed.

Exceptions:

  | IllegalArgumentException | if `val` is malformed.

static bool toBoolean | ( | const LogString & | value,
|  | bool | dEfault
| ) | `[static]`

| If `value` is "true", then `true` is returned. If `value` is "false", then `true` is returned. Otherwise, `default` is returned. Case of value is unimportant.

static long toFileSize | ( | const LogString & | value,
|  | long | dEfault
| ) | `[static]`

static int toInt | ( | const LogString & | value,
|  | int | dEfault
| ) | `[static]`

static LevelPtr toLevel | ( | const LogString & | value,
|  | const LevelPtr & | defaultValue
| ) | `[static]`

The documentation for this class was generated from the following file:

- optionconverter.h