Log4j 1.0.4

org.apache.log4j.helpers
Class OptionConverter

java.lang.Object
  |
  +--org.apache.log4j.helpers.OptionConverter

public class OptionConverter
extends Object

A convinience class to convert property values to specific types.

Author:
Ceki Gülcü, Avy Sharell

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 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(URL url, Hierarchy 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)
           
 
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)

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)

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.

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(URL url,
                                      Hierarchy hierarchy)
Configure log4j given a URL.

The URL format is important. Its reference part is taken as the class name of the configurator. For example, if you invoke your application using the command line

 java -Dlog4j.configuration=file:/temp/myconfig.xyz#com.myCompany.myConfigurator
then the log4j will be configured by a new instance of com.myCompany.myConfigurator by interpreting the file referenced by file:/temp/myconfig.xyz. The configurator you specify must implement the Configurator interface.

If the URL has no reference part, then the PropertyConfigurator will parse the URL. However, if the URL ends with a ".xml" extension, then the DOMConfigurator will be used to parse the URL.

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

Since:
1.0

Log4j 1.0.4

Please notify me about new log4j releases.