# 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 [class name]
c> | -c [file name]
d+ | -d [class name] (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 Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final Class<?>`
  `CLASS_VALUE`
  Class class
  `static final Class<Date>`
  `DATE_VALUE`
  Date class
  `static final Class<FileInputStream>`
  `EXISTING_FILE_VALUE`
  FileInputStream class
  `static final Class<File>`
  `FILE_VALUE`
  File class
  `static final Class<File[]>`
  `FILES_VALUE`
  File array class
  `static final Class<Number>`
  `NUMBER_VALUE`
  Number class
  `static final Class<Object>`
  `OBJECT_VALUE`
  Object class
  `static final Class<String>`
  `STRING_VALUE`
  String class
  `static final Class<URL>`
  `URL_VALUE`
  URL class

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `PatternOptionBuilder()`
  Deprecated.
  Will be private or class will be final.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static Object`
  `getValueClass(char ch)`
  Deprecated.
  Use `getValueType(char)`.
  `static Class<?>`
  `getValueType(char ch)`
  Retrieve the class that `ch` represents.
  `static boolean`
  `isValueCode(char ch)`
  Returns whether `ch` is a value code, i.e. whether it represents a class in a pattern.
  `static Options`
  `parsePattern(String pattern)`
  Returns the `Options` instance represented by `pattern`.

  ### Methods inherited from class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## 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

    @Deprecated public PatternOptionBuilder()
    Deprecated.
    Will be private or class will be final.
    Deprecated, only provides static methods.

- ## Method Details

  - ### getValueClass

    @Deprecated public static Object getValueClass(char ch)
    Deprecated.
    Use `getValueType(char)`.
    Retrieve the class that `ch` represents.
    Parameters:
      `ch` - the specified character.
    Returns:
      The class that `ch` represents.

  - ### getValueType

    public static Class<?> getValueType(char ch)
    Retrieve the class that `ch` represents.
    Parameters:
      `ch` - the specified character
    Returns:
      The class that `ch` represents
    Since:
      1.7.0

  - ### 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