Class TypeHandler

java.lang.Object
org.apache.commons.cli.TypeHandler

public class TypeHandler extends Object
TypeHandler will handle the pluggable conversion and verification of Option types. It handles the mapping of classes to bot converters and verifiers. It provides the default conversion and verification methods when converters and verifiers are not explicitly set.

If Options are serialized and deserialized their converters and verifiers will revert to the defaults defined in this class. To correctly de-serialize Options with custom converters and/or verifiers, using the default serialization methods, this class should be properly configured with the custom converters and verifiers for the specific class.

  • Constructor Details

    • TypeHandler

      public TypeHandler()
      Constructs a default initialized instance.
    • TypeHandler

      public TypeHandler(Map<Class<?>,Converter<?,? extends Throwable>> converterMap)
      Constructs a default initialized instance.

      For each entry, that Class' type must match the Converter's first type.

      Parameters:
      converterMap - The converter map, not null.
      Since:
      1.7.0
  • Method Details

    • createClass

      public static Class<?> createClass(String className) throws ParseException
      Returns the class whose name is className.
      Parameters:
      className - the class name
      Returns:
      The class if it is found
      Throws:
      ParseException - if the class could not be found
    • createDate

      public static Date createDate(String string)
      Returns the date represented by string.

      This method is not yet implemented and always throws an UnsupportedOperationException.

      Parameters:
      string - the date string
      Returns:
      The date if string is a valid date string, otherwise return null.
    • createDefaultMap

      public static Map<Class<?>,Converter<?,? extends Throwable>> createDefaultMap()
      Creates a default converter map.
      Returns:
      a default converter map.
      Since:
      1.7.0
    • createFile

      public static File createFile(String string)
      Returns the File represented by string.
      Parameters:
      string - the File location
      Returns:
      The file represented by string.
    • createFiles

      @Deprecated public static File[] createFiles(String string)
      Deprecated.
      with no replacement
      Creates the File[] represented by string.

      This method is not yet implemented and always throws an UnsupportedOperationException.

      Parameters:
      string - the paths to the files
      Returns:
      The File[] represented by string.
      Throws:
      UnsupportedOperationException - always
    • createNumber

      @Deprecated public static Number createNumber(String string) throws ParseException
      Deprecated.
      Creates a number from a String. If a '.' is present, it creates a Double, otherwise a Long.
      Parameters:
      string - the value
      Returns:
      the number represented by string
      Throws:
      ParseException - if string is not a number
    • createObject

      @Deprecated public static Object createObject(String className) throws ParseException
      Creates an Object from the class name and empty constructor.
      Parameters:
      className - the argument value
      Returns:
      the initialized object
      Throws:
      ParseException - if the class could not be found or the object could not be created
    • createURL

      public static URL createURL(String string) throws ParseException
      Creates the URL represented by string.
      Parameters:
      string - the URL string
      Returns:
      The URL in string is well-formed
      Throws:
      ParseException - if the URL in string is not well-formed
    • createValue

      public static <T> T createValue(String string, Class<T> clazz) throws ParseException
      Creates the @code Object} of type clazz with the value of string.
      Type Parameters:
      T - type of argument
      Parameters:
      string - the command line value
      clazz - the class representing the type of argument
      Returns:
      The instance of clazz initialized with the value of string.
      Throws:
      ParseException - if the value creation for the given class threw an exception.
    • createValue

      @Deprecated public static Object createValue(String string, Object obj) throws ParseException
      Creates the Object of type obj with the value of string.
      Parameters:
      string - the command line value
      obj - the type of argument
      Returns:
      The instance of obj initialized with the value of string.
      Throws:
      ParseException - if the value creation for the given object type failed
    • getDefault

      public static TypeHandler getDefault()
      Gets the default TypeHandler.
      Returns:
      the default TypeHandler.
      Since:
      1.7.0
    • openFile

      @Deprecated public static FileInputStream openFile(String string) throws ParseException
      Returns the opened FileInputStream represented by string.
      Parameters:
      string - the file location
      Returns:
      The file input stream represented by string.
      Throws:
      ParseException - if the file is not exist or not readable
    • getConverter

      public <T> Converter<T,?> getConverter(Class<T> clazz)
      Gets the registered converter for the the Class, or Converter.DEFAULT if absent.
      Type Parameters:
      T - The Class parameter type.
      Parameters:
      clazz - The Class to get the Converter for.
      Returns:
      the registered converter if any, Converter.DEFAULT otherwise.
      Since:
      1.7.0