Package org.kohsuke.args4j.spi

## Class MapOptionHandler

- java.lang.Object
- - org.kohsuke.args4j.spi.OptionHandler<java.util.Map<?,​?>>
  - - org.kohsuke.args4j.spi.MapOptionHandler

    public class MapOptionHandler
    extends OptionHandler<java.util.Map<?,​?>>

Parses options into a `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`.

### Field Summary

### Fields inherited from class org.kohsuke.args4j.spi.OptionHandler

`option, owner, setter`

### Constructor Summary

Constructors
`MapOptionHandler​(CmdLineParser parser, OptionDef option, Setter<? super java.util.Map<?,​?>> setter)`

### Method Summary

All Methods Instance Methods Concrete Methods
`protected void` `addToMap​(java.lang.String argument, java.util.Map m)` Encapsulates how a single string argument gets converted into key and value.
`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 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.

### Methods inherited from class org.kohsuke.args4j.spi.OptionHandler

`getMetaVariable, getNameAndMeta, getNameAndMeta, print, printDefaultValue`

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

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

### Constructor Detail

#### MapOptionHandler

    public MapOptionHandler​(CmdLineParser parser,
                            OptionDef option,
                            Setter<? super java.util.Map<?,​?>> setter)

### Method Detail

#### getDefaultMetaVariable

    public java.lang.String getDefaultMetaVariable()

Description copied from class: `OptionHandler`
Gets the default meta variable name used to print the usage screen. The value returned by this method can be a reference in the `ResourceBundle`, if one was passed to `CmdLineParser`.

Specified by:
  `getDefaultMetaVariable` in class `OptionHandler<java.util.Map<?,​?>>`
Returns:
  `null` to hide a meta variable.

#### parseArguments

    public int parseArguments​(Parameters params)
                       throws CmdLineException

Description copied from class: `OptionHandler`
Called if the option that this owner recognizes is found.

Specified by:
  `parseArguments` in class `OptionHandler<java.util.Map<?,​?>>`
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`

#### createNewCollection

    protected java.util.Map createNewCollection​(java.lang.Class<? extends java.util.Map> type)

Creates a new instance of the collection.

#### addToMap

    protected void addToMap​(java.lang.String argument,
                            java.util.Map m)
                     throws CmdLineException

Encapsulates how a single string argument gets converted into key and value.

Throws:
  `CmdLineException`

#### addToMap

    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.