Class OptionConverter


  • public final class OptionConverter
    extends java.lang.Object
    A convenience class to convert property values to specific types.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private OptionConverter()
      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.String convertSpecialChars​(java.lang.String s)  
      static java.lang.String findAndSubst​(java.lang.String key, java.util.Properties props)
      Find the value corresponding to key in props.
      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)  
      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 defaultValue)
      If value is "true", then true is returned.
      static long toFileSize​(java.lang.String value, long defaultValue)  
      static int toInt​(java.lang.String value, int defaultValue)
      Convert the String value to an int.
      static Level toLevel​(java.lang.String value, Level defaultValue)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • OptionConverter

        private OptionConverter()
        OptionConverter is a static class.
    • 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)
        If value is "true", then true is returned. If value is "false", then false is returned. Otherwise, default is 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.
      • toLevel

        public static Level toLevel​(java.lang.String value,
                                    Level defaultValue)
      • 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 to key in props. 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 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
        Returns:
        The created object.
      • 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 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 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 properties 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 "}".

        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 - if val is malformed.