org.apache.jcs.config
Class OptionConverter

java.lang.Object
  extended byorg.apache.jcs.config.OptionConverter

public class OptionConverter
extends java.lang.Object

This class is based on the log4j class org.apache.log4j.helpers.OptionConverter that was made by Ceki Gülcü Simon Kitching; Avy Sharell (sharell@online.fr) Anders Kristensen Matthieu Verbert (mve@zurich.ibm.com) A convenience class to convert property values to specific types.

Author:
asmuts

Field Summary
(package private) static java.lang.String DELIM_START
           
(package private) static int DELIM_START_LEN
           
(package private) static char DELIM_STOP
           
(package private) static int DELIM_STOP_LEN
           
private static org.apache.commons.logging.Log log
           
(package private) static java.lang.StringBuffer sbuf
           
 
Constructor Summary
private OptionConverter()
          OptionConverter is a static class.
 
Method Summary
static java.lang.String[] concatanateArrays(java.lang.String[] l, java.lang.String[] r)
          Description of the Method
static java.lang.String convertSpecialChars(java.lang.String s)
          Description of the Method
static java.lang.String findAndSubst(java.lang.String key, java.util.Properties props)
          Find the value corresponding to key in props.
static java.lang.String getSystemProperty(java.lang.String key, java.lang.String def)
          Very similar to System.getProperty except that the SecurityException is hidden.
static java.lang.Object instantiateByClassName(java.lang.String className, java.lang.Class superClass, java.lang.Object defaultValue)
          Instantiate an object given a class name.
static java.lang.Object instantiateByKey(java.util.Properties props, java.lang.String key, java.lang.Class superClass, java.lang.Object defaultValue)
          Description of the Method
static java.lang.String substVars(java.lang.String val, java.util.Properties props)
          Perform variable substitution in string val from the values of keys found in the system propeties.
static boolean toBoolean(java.lang.String value, boolean dEfault)
          If value is "true", then true is returned.
static long toFileSize(java.lang.String value, long dEfault)
          Description of the Method
static int toInt(java.lang.String value, int dEfault)
          Description of the Method
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

private static final org.apache.commons.logging.Log log

DELIM_START

static java.lang.String DELIM_START

DELIM_STOP

static char DELIM_STOP

DELIM_START_LEN

static int DELIM_START_LEN

DELIM_STOP_LEN

static int DELIM_STOP_LEN

sbuf

static java.lang.StringBuffer sbuf
Constructor Detail

OptionConverter

private OptionConverter()
OptionConverter is a static class.

Method Detail

concatanateArrays

public static java.lang.String[] concatanateArrays(java.lang.String[] l,
                                                   java.lang.String[] r)
Description of the Method


convertSpecialChars

public static java.lang.String convertSpecialChars(java.lang.String s)
Description of the Method


getSystemProperty

public static java.lang.String getSystemProperty(java.lang.String key,
                                                 java.lang.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 java.lang.Object instantiateByKey(java.util.Properties props,
                                                java.lang.String key,
                                                java.lang.Class superClass,
                                                java.lang.Object defaultValue)
Description of the Method


toBoolean

public static boolean toBoolean(java.lang.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(java.lang.String value,
                        int dEfault)
Description of the Method


toFileSize

public static long toFileSize(java.lang.String value,
                              long dEfault)
Description of the Method


findAndSubst

public static java.lang.String findAndSubst(java.lang.String key,
                                            java.util.Properties props)
Find the value corresponding to key in props. Then perform variable substitution on the found value.


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 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 java.lang.String substVars(java.lang.String val,
                                         java.util.Properties props)
                                  throws java.lang.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:
java.lang.IllegalArgumentException - if val is malformed.