public class MapOptionHandler extends OptionHandler<Map<?,?>>
Map
.
class Foo {
@Option(name="-P",handler=MapOptionHandler
.class)
Map<String,String> args;
}
With this, -P x=1 -P y=2
parses to map of size 2
.
This option handler can be subtyped if you want to convert values to different types
or to handle key=value
in other formats, like key:=value
.
option, owner, setter
Constructor and Description |
---|
MapOptionHandler(CmdLineParser parser,
OptionDef option,
Setter<? super Map<?,?>> setter) |
Modifier and Type | Method and Description |
---|---|
protected void |
addToMap(Map m,
String key,
String value)
This is the opportunity to convert values to some typed objects.
|
protected void |
addToMap(String argument,
Map m)
Encapsulates how a single string argument gets converted into key and value.
|
protected Map |
createNewCollection(Class<? extends Map> type)
Creates a new instance of the collection.
|
String |
getDefaultMetaVariable()
Gets the default meta variable name used to print the usage screen.
|
int |
parseArguments(Parameters params)
Called if the option that this owner recognizes is found.
|
getMetaVariable, getNameAndMeta, getNameAndMeta, print, printDefaultValue
public MapOptionHandler(CmdLineParser parser, OptionDef option, Setter<? super Map<?,?>> setter)
public String getDefaultMetaVariable()
OptionHandler
ResourceBundle
, if one was passed to
CmdLineParser
.getDefaultMetaVariable
in class OptionHandler<Map<?,?>>
null
to hide a meta variable.public int parseArguments(Parameters params) throws CmdLineException
OptionHandler
parseArguments
in class OptionHandler<Map<?,?>>
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.0
if this option doesn't take any parameters.)CmdLineException
protected Map createNewCollection(Class<? extends Map> type)
protected void addToMap(String argument, Map m) throws CmdLineException
CmdLineException
Copyright © 2003-2016 Kohsuke Kawaguchi. All Rights Reserved.