Class OptionConverter
- java.lang.Object
-
- org.apache.logging.log4j.core.util.OptionConverter
-
public final class OptionConverter extends java.lang.ObjectA convenience class to convert property values to specific types.
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.StringDELIM_STARTprivate static intDELIM_START_LENprivate static charDELIM_STOPprivate static intDELIM_STOP_LENprivate static LoggerLOGGERprivate static intONE_K
-
Constructor Summary
Constructors Modifier Constructor Description privateOptionConverter()OptionConverter is a static class.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.String[]concatenateArrays(java.lang.String[] l, java.lang.String[] r)static java.lang.StringconvertSpecialChars(java.lang.String s)static java.lang.StringfindAndSubst(java.lang.String key, java.util.Properties props)Find the value corresponding tokeyinprops.static java.lang.ObjectinstantiateByClassName(java.lang.String className, java.lang.Class<?> superClass, java.lang.Object defaultValue)Instantiate an object given a class name.static java.lang.ObjectinstantiateByKey(java.util.Properties props, java.lang.String key, java.lang.Class<?> superClass, java.lang.Object defaultValue)static java.lang.StringsubstVars(java.lang.String val, java.util.Properties props)Perform variable substitution in stringvalfrom the values of keys found in the system propeties.private static java.lang.StringsubstVars(java.lang.String val, java.util.Properties props, java.util.List<java.lang.String> keys)static booleantoBoolean(java.lang.String value, boolean defaultValue)Ifvalueis "true", thentrueis returned.static longtoFileSize(java.lang.String value, long defaultValue)static inttoInt(java.lang.String value, int defaultValue)Convert the String value to an int.static LeveltoLevel(java.lang.String value, Level defaultValue)
-
-
-
Field Detail
-
LOGGER
private static final Logger LOGGER
-
DELIM_START
private static final java.lang.String DELIM_START
- See Also:
- Constant Field Values
-
DELIM_STOP
private static final char DELIM_STOP
- See Also:
- Constant Field Values
-
DELIM_START_LEN
private static final int DELIM_START_LEN
- See Also:
- Constant Field Values
-
DELIM_STOP_LEN
private static final int DELIM_STOP_LEN
- See Also:
- Constant Field Values
-
ONE_K
private static final int ONE_K
- See Also:
- Constant Field Values
-
-
Method Detail
-
concatenateArrays
public static java.lang.String[] concatenateArrays(java.lang.String[] l, java.lang.String[] r)
-
convertSpecialChars
public static java.lang.String convertSpecialChars(java.lang.String s)
-
instantiateByKey
public static java.lang.Object instantiateByKey(java.util.Properties props, java.lang.String key, java.lang.Class<?> superClass, java.lang.Object defaultValue)
-
toBoolean
public static boolean toBoolean(java.lang.String value, boolean defaultValue)Ifvalueis "true", thentrueis returned. Ifvalueis "false", thenfalseis returned. Otherwise,defaultis returned.Case of value is unimportant.
- Parameters:
value- The value to convert.defaultValue- The default value.- Returns:
- true or false, depending on the value and/or default.
-
toInt
public static int toInt(java.lang.String value, int defaultValue)Convert the String value to an int.- Parameters:
value- The value as a String.defaultValue- The default value.- Returns:
- The value as an int.
-
toFileSize
public static long toFileSize(java.lang.String value, long defaultValue)- Parameters:
value- The size of the file as a String.defaultValue- The default value.- Returns:
- The size of the file as a long.
-
findAndSubst
public static java.lang.String findAndSubst(java.lang.String key, java.util.Properties props)Find the value corresponding tokeyinprops. Then perform variable substitution on the found value.- Parameters:
key- The key to locate.props- The properties.- Returns:
- The String after substitution.
-
instantiateByClassName
public static java.lang.Object instantiateByClassName(java.lang.String className, java.lang.Class<?> superClass, java.lang.Object defaultValue)Instantiate an object given a class name. Check that theclassNameis a subclass ofsuperClass. If that test fails or the object could not be instantiated, thendefaultValueis 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- Returns:
- The created object.
-
substVars
public static java.lang.String substVars(java.lang.String val, java.util.Properties props) throws java.lang.IllegalArgumentExceptionPerform variable substitution in stringvalfrom the values of keys found in the system propeties.The variable substitution delimiters 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
sto "Value of key is value.".If no value could be found for the specified key, then the
propsparameter is searched, if the value could not be found there, then substitution defaults to the empty string.For example, if system properties contains no value for the key "inexistentKey", then the call
String s = OptionConverter.subsVars("Value of inexistentKey is [${inexistentKey}]");will set
sto "Value of inexistentKey is []"An
IllegalArgumentExceptionis thrown ifvalcontains a start delimeter "${" which is not balanced by a stop delimeter "}".- Parameters:
val- The string on which variable substitution is performed.props- The properties to use for substitution.- Returns:
- The String after substitution.
- Throws:
java.lang.IllegalArgumentException- ifvalis malformed.
-
substVars
private static java.lang.String substVars(java.lang.String val, java.util.Properties props, java.util.List<java.lang.String> keys) throws java.lang.IllegalArgumentException- Throws:
java.lang.IllegalArgumentException
-
-