Class PatternOptionBuilder


  • public class PatternOptionBuilder
    extends Object

    Allows Options to be created from a single String. The pattern contains various single character flags and via an optional punctuation character, their expected type.

    Overview of PatternOptionBuilder patterns
    a-a flag
    b@-b [classname]
    c>-c [filename]
    d+-d [classname] (creates object via empty constructor)
    e%-e [number] (creates Double/Long instance depending on existing of a '.')
    f/-f [url]
    g:-g [string]

    For example, the following allows command line flags of '-v -p string-value -f /dir/file'. The exclamation mark precede a mandatory option.

         Options options = PatternOptionBuilder.parsePattern("vp:!f/");
     

    TODO: These need to break out to OptionType and also to be pluggable.

    Version:
    $Id: PatternOptionBuilder.java 1677406 2015-05-03 14:27:31Z britter $
    • Field Detail

      • STRING_VALUE

        public static final Class<String> STRING_VALUE
        String class
      • OBJECT_VALUE

        public static final Class<Object> OBJECT_VALUE
        Object class
      • NUMBER_VALUE

        public static final Class<Number> NUMBER_VALUE
        Number class
      • DATE_VALUE

        public static final Class<Date> DATE_VALUE
        Date class
      • CLASS_VALUE

        public static final Class<?> CLASS_VALUE
        Class class
      • EXISTING_FILE_VALUE

        public static final Class<FileInputStream> EXISTING_FILE_VALUE
        FileInputStream class
      • FILE_VALUE

        public static final Class<File> FILE_VALUE
        File class
      • FILES_VALUE

        public static final Class<File[]> FILES_VALUE
        File array class
      • URL_VALUE

        public static final Class<URL> URL_VALUE
        URL class
    • Constructor Detail

      • PatternOptionBuilder

        public PatternOptionBuilder()
    • Method Detail

      • getValueClass

        public static Object getValueClass​(char ch)
        Retrieve the class that ch represents.
        Parameters:
        ch - the specified character
        Returns:
        The class that ch represents
      • isValueCode

        public static boolean isValueCode​(char ch)
        Returns whether ch is a value code, i.e. whether it represents a class in a pattern.
        Parameters:
        ch - the specified character
        Returns:
        true if ch is a value code, otherwise false.
      • parsePattern

        public static Options parsePattern​(String pattern)
        Returns the Options instance represented by pattern.
        Parameters:
        pattern - the pattern string
        Returns:
        The Options instance