## org.apache.log4j.helpers
Class OptionConverter

    java.lang.Object
      org.apache.log4j.helpers.OptionConverter

    public class OptionConverter

extends Object

A convenience class to convert property values to specific types.

Author:
  Ceki Gülcü, Simon Kitching;, Anders Kristensen

Method Summary
`static String[]` `concatanateArrays(String[] l, String[] r)`
`static String` `convertSpecialChars(String s)`
`static String` `findAndSubst(String key, Properties props)` Find the value corresponding to `key` in `props`.
`static String` `getSystemProperty(String key, String def)` Very similar to `System.getProperty` except that the `SecurityException` is hidden.
`static Object` `instantiateByClassName(String className, Class superClass, Object defaultValue)` Instantiate an object given a class name.
`static Object` `instantiateByKey(Properties props, String key, Class superClass, Object defaultValue)`
`static void` `selectAndConfigure(InputStream inputStream, String clazz, LoggerRepository hierarchy)` Configure log4j given an `InputStream`.
`static void` `selectAndConfigure(URL url, String clazz, LoggerRepository hierarchy)` Configure log4j given a URL.
`static String` `substVars(String val, Properties props)` Perform variable substitution in string `val` from the values of keys found in the system propeties.
`static boolean` `toBoolean(String value, boolean dEfault)` If `value` is "true", then `true` is returned.
`static long` `toFileSize(String value, long dEfault)`
`static int` `toInt(String value, int dEfault)`
`static Level` `toLevel(String value, Level defaultValue)` Converts a standard or custom priority level to a Level object.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Method Detail

### concatanateArrays

    public static String[] concatanateArrays(String[] l,
                                             String[] r)

### convertSpecialChars

    public static String convertSpecialChars(String s)

### getSystemProperty

    public static String getSystemProperty(String key,
                                           String def)

  Very similar to `System.getProperty` except that the `SecurityException` is hidden.

  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.
  Since:
    1.1

### instantiateByKey

    public static Object instantiateByKey(Properties props,
                                          String key,
                                          Class superClass,
                                          Object defaultValue)

### toBoolean

    public static boolean toBoolean(String value,
                                    boolean dEfault)

  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.

### toInt

    public static int toInt(String value,
                            int dEfault)

### toLevel

    public static Level toLevel(String value,
                                Level defaultValue)

  Converts a standard or custom priority level to a Level object.

  If `value` is of form "level#classname", then the specified class' toLevel method is called to process the specified level string; if no '#' character is present, then the default `Level` class is used to process the level value.

  As a special case, if the `value` parameter is equal to the string "NULL", then the value `null` will be returned.

  If any error occurs while converting the value to a level, the `defaultValue` parameter, which may be `null`, is returned.

  Case of `value` is insignificant for the level level, but is significant for the class name part, if present.

  Since:
    1.1

### toFileSize

    public static long toFileSize(String value,
                                  long dEfault)

### findAndSubst

    public static String findAndSubst(String key,
                                      Properties props)

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

### instantiateByClassName

    public static Object instantiateByClassName(String className,
                                                Class superClass,
                                                Object defaultValue)

  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

### substVars

    public static String substVars(String val,
                                   Properties props)
                            throws IllegalArgumentException

  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 "}".

  Author Avy Sharell

  Parameters:
    `val` - The string on which variable substitution is performed.
  Throws:
    `IllegalArgumentException` - if `val` is malformed.

### selectAndConfigure

    public static void selectAndConfigure(InputStream inputStream,
                                          String clazz,
                                          LoggerRepository hierarchy)

  Configure log4j given an `InputStream`.

  The InputStream will be interpreted by a new instance of a log4j configurator.

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

  Parameters:
    `inputStream` - The configuration input stream.
    `clazz` - The class name, of the log4j configurator which will parse the `inputStream`. This must be a subclass of `Configurator`, or null. If this value is null then a default configurator of `PropertyConfigurator` is used.
    `hierarchy` - The `Hierarchy` to act on.
  Since:
    1.2.17

### selectAndConfigure

    public static void selectAndConfigure(URL url,
                                          String clazz,
                                          LoggerRepository hierarchy)

  Configure log4j given a URL.

  The url must point to a file or resource which will be interpreted by a new instance of a log4j configurator.

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

  Parameters:
    `url` - The location of the configuration file or resource.
    `clazz` - The classname, of the log4j configurator which will parse the file or resource at `url`. 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 `url` ends in '.xml', in which case `DOMConfigurator` is used.
    `hierarchy` - The `Hierarchy` to act on.
  Since:
    1.1.4

Copyright © 1999-2012 Apache Software Foundation. All Rights Reserved.