public class ListValueOptionParser<T> extends AbstractOptionParser<T>
--name value
but which allows for the values to be a
non-whitespace separated list
So for example --name foo,bar
would be treated as the values
foo
and bar
passed to the --name
option. This parser
differs from the StandardOptionParser
in that the standard parser
would treat foo,bar
as a single value passed to the name option. This
parser expects that the list it receives contains the correct number of items
for the arity of the option and if not produces an error
You can also omit the whitespace between the name and the value list 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 |
---|
ListValueOptionParser() |
ListValueOptionParser(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 ListValueOptionParser()
public ListValueOptionParser(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.