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.
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static String[]
concatanateArrays(String[] l, String[] r)
static Level
convertLevel(String level, Level defaultLevel)
static Level
convertLevel(Level level)
static Level
convertLevel(Level level)
static String
convertSpecialChars(String s)
static String
findAndSubst(String key, Properties props)
Find the value corresponding tokey
inprops
.static String
getSystemProperty(String key, String def)
Very similar toSystem.getProperty
except that theSecurityException
is hidden.static Object
instantiateByClassName(String className, Class<?> superClass, Object defaultValue)
Instantiate an object given a class name.static String
substVars(String val, Properties props)
Perform variable substitution in stringval
from the values of keys found in the system propeties.static boolean
toBoolean(String value, boolean dEfault)
Ifvalue
is "true", thentrue
is returned.static Level
toLevel(String value, Level defaultValue)
Converts a standard or custom priority level to a Level object.
-
-
-
Method Detail
-
getSystemProperty
public static String getSystemProperty(String key, String def)
Very similar toSystem.getProperty
except that theSecurityException
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
-
toBoolean
public static boolean toBoolean(String value, boolean dEfault)
Ifvalue
is "true", thentrue
is returned. Ifvalue
is "false", thentrue
is returned. Otherwise,default
is returned.Case of value is unimportant.
-
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 defaultLevel
class is used to process the level value.As a special case, if the
value
parameter is equal to the string "NULL", then the valuenull
will be returned.If any error occurs while converting the value to a level, the
defaultValue
parameter, which may benull
, is returned.Case of
value
is insignificant for the level level, but is significant for the class name part, if present.- Since:
- 1.1
-
instantiateByClassName
public static Object instantiateByClassName(String className, Class<?> superClass, Object defaultValue)
Instantiate an object given a class name. Check that theclassName
is a subclass ofsuperClass
. If that test fails or the object could not be instantiated, thendefaultValue
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 stringval
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 sets
to "Value of inexistentKey is []"An
IllegalArgumentException
is thrown ifval
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
- ifval
is malformed.
-
findAndSubst
public static String findAndSubst(String key, Properties props)
Find the value corresponding tokey
inprops
. Then perform variable substitution on the found value.
-
-