Class ListValueOptionParser<T>
- java.lang.Object
-
- com.github.rvesse.airline.parser.AbstractParser<T>
-
- com.github.rvesse.airline.parser.options.AbstractOptionParser<T>
-
- com.github.rvesse.airline.parser.options.ListValueOptionParser<T>
-
- All Implemented Interfaces:
OptionParser<T>
- Direct Known Subclasses:
MaybeListValueOptionParser
public class ListValueOptionParser<T> extends AbstractOptionParser<T>
An options parser that requires the values to be a non-whitespace separated listSo for example
--name foo,bar
would be treated as the valuesfoo
andbar
passed to the--name
option. This parser differs from theStandardOptionParser
in that the standard parser would treatfoo,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, or an exact multiple thereof and if not produces an errorYou 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.
-
-
Field Summary
Fields Modifier and Type Field Description private static char
DEFAULT_SEPARATOR
private char
separator
-
Constructor Summary
Constructors Constructor Description ListValueOptionParser()
ListValueOptionParser(char separator)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.util.List<java.lang.String>
getValues(java.lang.String list)
ParseState<T>
parseOptions(org.apache.commons.collections4.iterators.PeekingIterator<java.lang.String> tokens, ParseState<T> state, java.util.List<OptionMetadata> allowedOptions)
Parses one/more options from the token stream-
Methods inherited from class com.github.rvesse.airline.parser.options.AbstractOptionParser
findOption, findOption, hasShortNamePrefix, isSeparatorOrOption, noValueForOption
-
Methods inherited from class com.github.rvesse.airline.parser.AbstractParser
getTypeConverter
-
-
-
-
Field Detail
-
DEFAULT_SEPARATOR
private static final char DEFAULT_SEPARATOR
- See Also:
- Constant Field Values
-
separator
private final char separator
-
-
Method Detail
-
getValues
protected final java.util.List<java.lang.String> getValues(java.lang.String list)
-
parseOptions
public ParseState<T> parseOptions(org.apache.commons.collections4.iterators.PeekingIterator<java.lang.String> tokens, ParseState<T> state, java.util.List<OptionMetadata> allowedOptions)
Description copied from interface:OptionParser
Parses one/more options from the token stream- Parameters:
tokens
- Tokensstate
- Current parser stateallowedOptions
- Allowed options at this point of the parsing- Returns:
- New parser state, may return
null
if this parser could not parse the next token as an option
-
-