Class PatternOptionBuilder

java.lang.Object
org.apache.commons.cli.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.

  • Field Details

    • 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 Details

    • PatternOptionBuilder

      public PatternOptionBuilder()
  • Method Details

    • 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