public class MapOptionHandler extends OptionHandler<java.util.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 java.util.Map<?,?>> setter) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
addToMap(java.util.Map m,
java.lang.String key,
java.lang.String value)
This is the opportunity to convert values to some typed objects.
|
protected void |
addToMap(java.lang.String argument,
java.util.Map m)
Encapsulates how a single string argument gets converted into key and value.
|
protected java.util.Map |
createNewCollection(java.lang.Class<? extends java.util.Map> type)
Creates a new instance of the collection.
|
java.lang.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, printDefaultValuepublic MapOptionHandler(CmdLineParser parser, OptionDef option, Setter<? super java.util.Map<?,?>> setter)
public java.lang.String getDefaultMetaVariable()
OptionHandlerResourceBundle, if one was passed to
CmdLineParser.getDefaultMetaVariable in class OptionHandler<java.util.Map<?,?>>null to hide a meta variable.public int parseArguments(Parameters params) throws CmdLineException
OptionHandlerparseArguments in class OptionHandler<java.util.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.)CmdLineExceptionprotected java.util.Map createNewCollection(java.lang.Class<? extends java.util.Map> type)
protected void addToMap(java.lang.String argument,
java.util.Map m)
throws CmdLineException
CmdLineExceptionprotected void addToMap(java.util.Map m,
java.lang.String key,
java.lang.String value)