org.apache.log4j.helpers

Class OptionConverter


public class OptionConverter
extends Object

A convenience class to convert property values to specific types.
Authors:
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(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.

Method Details

concatanateArrays

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

convertSpecialChars

public static String convertSpecialChars(String s)

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.

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

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

instantiateByKey

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

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

substVars

public static String substVars(String val,
                               Properties props)
            throws IllegalArgumentException
Parameters:
val - The string on which variable substitution is performed.

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.


toFileSize

public static long toFileSize(String value,
                              long dEfault)

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

Copyright 2000-2005 Apache Software Foundation.