# Package org.kohsuke.args4j.spi

Classes for extending the behavior of args4j.

Interface Summary
Getter<T>: Interface that can be instantiated to get default values.
Parameters: List of arguments.
Setter<T>: Abstraction of the value setter.

Class Summary
AnnotationImpl: Base class for the @Option and @Argument implementation classes.
ArgumentImpl: Implementation of @Argument so we can instantiate it.
BooleanOptionHandler: Boolean `OptionHandler`.
ByteOptionHandler: `Byte` `OptionHandler` `OneArgumentOptionHandler`
CharOptionHandler: `Character` `OptionHandler` `OneArgumentOptionHandler`
ConfigElement: The ConfigElement is an `<option>` or `<argument>` tag in the xml configuration file.
DelimitedOptionHandler<T>: Partial `OptionHandler` implementation that takes a single value to the option, which is then gets split into individual tokens using fixed delimiter.
DoubleOptionHandler: `Double` `OptionHandler`.
EnumOptionHandler<T extends java.lang.Enum<T>>: `Enum` `OptionHandler`.
ExplicitBooleanOptionHandler: Boolean `OptionHandler` that (unlike the standard `BooleanOptionHandler` allows values to be set to false explicitly (using e.g.
FieldSetter: `Setter` that sets to a `Field`.
FileOptionHandler: `File` `OptionHandler`.
FloatOptionHandler: `Float` `OptionHandler` `OneArgumentOptionHandler`
InetAddressOptionHandler: `InetAddress` `OptionHandler`.
IntOptionHandler: `Integer` `OptionHandler`.
LongOptionHandler: `Long` `OptionHandler` `OneArgumentOptionHandler`
MacAddressOptionHandler: `OptionHandler` that parses MAC address to byte[] of length 6.
MapOptionHandler: Parses options into a `Map`.
MethodSetter: `Setter` that sets to a `Method`.
MultiFileOptionHandler: Takes a classpath like option ("-cp a.jar;b.jar;c") and maps them to a collection of `File`.
MultiPathOptionHandler: Takes a classpath like option ("-cp a.jar;b.jar;c") and maps them to a collection of `Path`.
OneArgumentOptionHandler<T>: OptionHandler which handles an option with exactly one argument, like "-foo bar".
OptionHandler<T>: Code that parses operands of an option into Java.
OptionImpl: Implementation of @Option so we can instantiate it.
PathOptionHandler: Takes a single argument to the option and maps that to `Path`.
PatternOptionHandler: A regex option handler.
RestOfArgumentsHandler: Eagerly grabs all the arguments.
Setters: Factory of `Setter`s.
ShortOptionHandler: `Short` `OptionHandler` `OneArgumentOptionHandler`
StopOptionHandler: `OptionHandler` for the option terminator `--`.
StringArrayOptionHandler: An `OptionHandler` for greedily mapping a list of tokens into a collection of `String`s (such as `String[]`, `List<String>`, etc.).
StringOptionHandler: String `OptionHandler`.
SubCommandHandler: `OptionHandler` used with `Argument` for parsing typical "sub-command" pattern.
URIOptionHandler: `URI` `OptionHandler`.
URLOptionHandler: `URL` `OptionHandler`.
UuidOptionHandler: `UUID` `OptionHandler`.

Enum Summary
Messages

Annotation Types Summary
SubCommand: Specifies a single sub-command.
SubCommands: Collection of `SubCommand`s that define possible sub-commands.