com.google.gwt.util.tools

## Class ArgHandlerEnum<T extends java.lang.Enum<T>>

- java.lang.Object
- - com.google.gwt.util.tools.ArgHandler
  - - com.google.gwt.util.tools.ArgHandlerEnum<T>

Type Parameters:
  `T` - enum type providing option values.

    public abstract class ArgHandlerEnum<T extends java.lang.Enum<T>>
    extends ArgHandler

A generic arg handler for options defined by enums.

### Constructor Summary

Constructors
Constructor and Description
`ArgHandlerEnum(java.lang.Class<T> optionsEnumClass)` Constructor, default value must be handled by the user code.
`ArgHandlerEnum(java.lang.Class<T> optionsEnumClass, T defaultValue, boolean allowAbbreviation)` Constructor, allows to specify the default value for the option and whether to accept or prefixes as abbreviations.

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`java.lang.String[]` `getDefaultArgs()`
`protected java.lang.String` `getPurposeString(java.lang.String prefix)`
`java.lang.String[]` `getTagArgs()` A list of words representing the arguments in help text.
`int` `handle(java.lang.String[] args, int startIndex)` Attempts to process one flag or "extra" command-line argument (that appears without a flag).
`abstract void` `setValue(T value)` Override to handle the setting of an enum value.

### Methods inherited from class com.google.gwt.util.tools.ArgHandler

`getHelpTag, getPurpose, getTag, getTags, isExperimental, isRequired, isUndocumented`

### Methods inherited from class java.lang.Object

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

### Constructor Detail

#### ArgHandlerEnum

    public ArgHandlerEnum(java.lang.Class<T> optionsEnumClass)

Constructor, default value must be handled by the user code.

#### ArgHandlerEnum

    public ArgHandlerEnum(java.lang.Class<T> optionsEnumClass,
                          @Nullable
                          T defaultValue,
                          boolean allowAbbreviation)

Constructor, allows to specify the default value for the option and whether to accept or prefixes as abbreviations.

When `defaultValue` is null, handling of the default for the option is left to be handled by the user code.

### Method Detail

#### getDefaultArgs

    public java.lang.String[] getDefaultArgs()

Overrides:
  `getDefaultArgs` in class `ArgHandler`

#### getTagArgs

    public java.lang.String[] getTagArgs()

Description copied from class: `ArgHandler`
A list of words representing the arguments in help text.

Specified by:
  `getTagArgs` in class `ArgHandler`

#### handle

    public final int handle(java.lang.String[] args,
                            int startIndex)

Description copied from class: `ArgHandler`
Attempts to process one flag or "extra" command-line argument (that appears without a flag).

Specified by:
  `handle` in class `ArgHandler`
Parameters:
  `args` - the arguments passed in to main()
  `startIndex` - an index into args indicating the first argument to use. If this is a handler for a flag argument. Otherwise it's the index of the "extra" argument.
Returns:
  the number of additional arguments consumed, not including the flag or extra argument. Alternately, returns -1 if the argument cannot be used. This will causes the program to abort and usage to be displayed.

#### getPurposeString

    protected java.lang.String getPurposeString(java.lang.String prefix)

#### setValue

    public abstract void setValue(T value)

Override to handle the setting of an enum value.