Package org.kohsuke.args4j.spi
Class OptionHandler<T>
java.lang.Object
org.kohsuke.args4j.spi.OptionHandler<T>
- Type Parameters:
T
- Thecomponent
type of the field that thisOptionHandler
works with. When I say "component", I mean a field that can hold multiple values (such asCollection
or array). This should refer to its component time.Setter
implementations abstract away multi-value-ness by allowingOptionHandler
to invoke itsSetter.addValue(Object)
multiple times.
- Direct Known Subclasses:
BooleanOptionHandler
,DelimitedOptionHandler
,EnumOptionHandler
,ExplicitBooleanOptionHandler
,MacAddressOptionHandler
,MapOptionHandler
,OneArgumentOptionHandler
,PatternOptionHandler
,RestOfArgumentsHandler
,StopOptionHandler
,StringArrayOptionHandler
,StringOptionHandler
,SubCommandHandler
,URIOptionHandler
,URLOptionHandler
Code that parses operands of an option into Java.
This class can be extended by application to support additional Java datatypes in option operands.
Implementation of this class needs to be registered to args4j by using
OptionHandlerRegistry.registerHandler(Class,Class)
.
For registration to work, subclasses will need to implement the constructor
with the signature
OptionHandler(CmdLineParser, OptionDef, Setter)
.
- Author:
- Kohsuke Kawaguchi
-
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
OptionHandler
(CmdLineParser parser, OptionDef option, Setter<? super T> setter) -
Method Summary
Modifier and TypeMethodDescriptionabstract String
Gets the default meta variable name used to print the usage screen.final String
Get string representing usage for this option, of the form "name metaval", e.g.final String
getNameAndMeta
(ResourceBundle rb, ParserProperties properties) Get string representing usage for this option, of the form "name metaval" or "name=metaval, e.g.abstract int
parseArguments
(Parameters params) Called if the option that this owner recognizes is found.protected String
The opposite of the parse operation.Prints the default value by introspecting the current setter asGetter
.
-
Field Details
-
option
The annotation. -
setter
Object to be used for setting value. -
owner
The owner to which this handler belongs to.
-
-
Constructor Details
-
OptionHandler
-
-
Method Details
-
parseArguments
Called if the option that this owner recognizes is found.- Parameters:
params
- The rest of the arguments. This method can use this object to access the arguments of the option if necessary. The object is valid only during the method call.- Returns:
- The number of arguments consumed. (For example, returns
0
if this option doesn't take any parameters.) - Throws:
CmdLineException
-
getDefaultMetaVariable
Gets the default meta variable name used to print the usage screen. The value returned by this method can be a reference in theResourceBundle
, if one was passed toCmdLineParser
.- Returns:
null
to hide a meta variable.
-
getMetaVariable
-
getNameAndMeta
Get string representing usage for this option, of the form "name metaval", e.g. "-foo VALUE" or "--foo VALUE"- Parameters:
rb
- ResourceBundle to get localized version of meta string
-
getNameAndMeta
Get string representing usage for this option, of the form "name metaval" or "name=metaval, e.g. "--foo VALUE" or "--foo=VALUE"- Parameters:
rb
- ResourceBundle to get localized version of meta stringproperties
- Affects the formatting behaviours.
-
print
The opposite of the parse operation. This method is used to print the usage screen. -
printDefaultValue
Prints the default value by introspecting the current setter asGetter
.- Returns:
- null if the current value of the setter isn't available.
-