Package picocli
Class CommandLine.Range
- java.lang.Object
-
- picocli.CommandLine.Range
-
- All Implemented Interfaces:
Comparable<CommandLine.Range>
- Enclosing class:
- CommandLine
public static class CommandLine.Range extends Object implements Comparable<CommandLine.Range>
Describes the number of parameters required and accepted by an option or a positional parameter.- Since:
- 0.9.7
-
-
Field Summary
Fields Modifier and Type Field Description booleanisVariableintmaxMaximum accepted number of parameters for an option or positional parameter.intminRequired number of parameters for an option or positional parameter.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description intcompareTo(CommandLine.Range other)booleancontains(int value)Returnstrueif this Range includes the specified value,falseotherwise.static CommandLine.RangedefaultArity(Class<?> type)Deprecated.usedefaultArity(Field)insteadstatic CommandLine.RangedefaultArity(Field field)Returns the default arityRange: for interactive options/positional parameters, this is 0; foroptionsthis is 0 for booleans and 1 for other types, forparametersbooleans have arity 0, arrays or Collections have arity "0..*", and other types have arity 1.booleanequals(Object object)inthashCode()CommandLine.Rangemax(int newMax)Returns a new Range object with themaxvalue replaced by the specified value.CommandLine.Rangemin(int newMin)Returns a new Range object with theminvalue replaced by the specified value.static CommandLine.RangeoptionArity(Field field)Returns a newRangebased on theCommandLine.Option.arity()annotation on the specified field, or the field type's default arity if no arity was specified.static CommandLine.RangeparameterArity(Field field)Returns a newRangebased on theCommandLine.Parameters.arity()annotation on the specified field, or the field type's default arity if no arity was specified.static CommandLine.RangeparameterIndex(Field field)Returns a newRangebased on theCommandLine.Parameters.index()annotation on the specified field.StringtoString()CommandLine.Rangeunspecified(boolean unspecified)Returns a new Range object with theisUnspecifiedvalue replaced by the specified value.static CommandLine.RangevalueOf(String range)Leniently parses the specified String as anRangevalue and return the result.
-
-
-
Constructor Detail
-
Range
public Range(int min, int max, boolean variable, boolean unspecified, String originalValue)Constructs a new Range object with the specified parameters.- Parameters:
min- minimum number of required parametersmax- maximum number of allowed parameters (or Integer.MAX_VALUE if variable)variable-trueif any number or parameters is allowed,falseotherwiseunspecified-trueif no arity was specified on the option/parameter (value is based on type)originalValue- the original value that was specified on the option or parameter
-
-
Method Detail
-
optionArity
public static CommandLine.Range optionArity(Field field)
Returns a newRangebased on theCommandLine.Option.arity()annotation on the specified field, or the field type's default arity if no arity was specified.- Parameters:
field- the field whose Option annotation to inspect- Returns:
- a new
Rangebased on the Option arity annotation on the specified field
-
parameterArity
public static CommandLine.Range parameterArity(Field field)
Returns a newRangebased on theCommandLine.Parameters.arity()annotation on the specified field, or the field type's default arity if no arity was specified.- Parameters:
field- the field whose Parameters annotation to inspect- Returns:
- a new
Rangebased on the Parameters arity annotation on the specified field
-
parameterIndex
public static CommandLine.Range parameterIndex(Field field)
Returns a newRangebased on theCommandLine.Parameters.index()annotation on the specified field.- Parameters:
field- the field whose Parameters annotation to inspect- Returns:
- a new
Rangebased on the Parameters index annotation on the specified field
-
defaultArity
public static CommandLine.Range defaultArity(Field field)
Returns the default arityRange: for interactive options/positional parameters, this is 0; foroptionsthis is 0 for booleans and 1 for other types, forparametersbooleans have arity 0, arrays or Collections have arity "0..*", and other types have arity 1.- Parameters:
field- the field whose default arity to return- Returns:
- a new
Rangeindicating the default arity of the specified field - Since:
- 2.0
-
defaultArity
@Deprecated public static CommandLine.Range defaultArity(Class<?> type)
Deprecated.usedefaultArity(Field)insteadReturns the default arityRangeforoptions: booleans have arity 0, other types have arity 1.- Parameters:
type- the type whose default arity to return- Returns:
- a new
Rangeindicating the default arity of the specified type
-
valueOf
public static CommandLine.Range valueOf(String range)
Leniently parses the specified String as anRangevalue and return the result. A range string can be a fixed integer value or a range of the formMIN_VALUE + ".." + MAX_VALUE. If theMIN_VALUEstring is not numeric, the minimum is zero. If theMAX_VALUEis not numeric, the range is taken to be variable and the maximum isInteger.MAX_VALUE.- Parameters:
range- the value range string to parse- Returns:
- a new
Rangevalue
-
min
public CommandLine.Range min(int newMin)
Returns a new Range object with theminvalue replaced by the specified value. Themaxof the returned Range is guaranteed not to be less than the newminvalue.- Parameters:
newMin- theminvalue of the returned Range object- Returns:
- a new Range object with the specified
minvalue
-
max
public CommandLine.Range max(int newMax)
Returns a new Range object with themaxvalue replaced by the specified value. Theminof the returned Range is guaranteed not to be greater than the newmaxvalue.- Parameters:
newMax- themaxvalue of the returned Range object- Returns:
- a new Range object with the specified
maxvalue
-
unspecified
public CommandLine.Range unspecified(boolean unspecified)
Returns a new Range object with theisUnspecifiedvalue replaced by the specified value.- Parameters:
unspecified- theunspecifiedvalue of the returned Range object- Returns:
- a new Range object with the specified
unspecifiedvalue
-
contains
public boolean contains(int value)
Returnstrueif this Range includes the specified value,falseotherwise.- Parameters:
value- the value to check- Returns:
trueif the specified value is not less than the minimum and not greater than the maximum of this Range
-
compareTo
public int compareTo(CommandLine.Range other)
- Specified by:
compareToin interfaceComparable<CommandLine.Range>
-
-