public class MaybePairValueOptionParser<T> extends AbstractOptionParser<T>
--name value
but which allows for the values to be a
non-whitespace separated pair
So for example --name foo=bar
would be treated as the values
foo
and bar
passed to the --name
option. This parser
would also support --name foo bar
and interpret them in the same way
and as such is a convenient hybrid of the StandardOptionParser
and
the ListValueOptionParser
for cases where you have arity 2 options
that users may either express the two values as separate values or in pair
style.
You can also omit the whitespace between the name and the values when using a
single character name of the option similar to how the
ClassicGetOptParser
works. For example -nfoo=bar
is
equivalent to our previous example assuming that -n
is an alternative
name for the same option as --name
.
The default separator for values is =
but this can be configured as
desired.
Constructor and Description |
---|
MaybePairValueOptionParser() |
MaybePairValueOptionParser(char separator) |
Modifier and Type | Method and Description |
---|---|
protected List<String> |
getValues(String list) |
ParseState<T> |
parseOptions(org.apache.commons.collections4.iterators.PeekingIterator<String> tokens,
ParseState<T> state,
List<OptionMetadata> allowedOptions)
Parses one/more options from the token stream
|
findOption, findOption, hasShortNamePrefix
getTypeConverter
public MaybePairValueOptionParser()
public MaybePairValueOptionParser(char separator)
public ParseState<T> parseOptions(org.apache.commons.collections4.iterators.PeekingIterator<String> tokens, ParseState<T> state, List<OptionMetadata> allowedOptions)
OptionParser
tokens
- Tokensstate
- Current parser stateallowedOptions
- Allowed options at this point of the parsingnull
if this parser could
not parse the next token as an optionCopyright © 2012–2017. All rights reserved.