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 booleanisVariableDeprecated.useisVariable()insteadintmaxDeprecated.usemax()insteadintminDeprecated.usemin()instead
-
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()booleanisRelative()Returnstrueif this Range contains a relative index like"1+", orfalseif this Range does not contain any relative indices.booleanisUnresolved()Returnstrueif this range contains a relative index like"1+", or variables that have not been expanded yet,falseif this Range does not contain any variables or relative indices.booleanisUnspecified()Returnstrueif this Range is a default value,falseif the user specified this value.booleanisVariable()Returnstrueif this range has no fixed upper bound.intmax()Returns the upper bound of this range (inclusive), orInteger.MAX_VALUEif this range has no upper bound.CommandLine.Rangemax(int newMax)Returns a new Range object with themaxvalue replaced by the specified value.intmin()Returns the lower bound of this range (inclusive).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.StringoriginalValue()Returns the original String value that this range was constructed with.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 aRangevalue and return the result.
-
-
-
Field Detail
-
min
@Deprecated public final int min
Deprecated.usemin()instead
-
max
@Deprecated public final int max
Deprecated.usemax()instead
-
isVariable
@Deprecated public final boolean isVariable
Deprecated.useisVariable()instead
-
-
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 aRangevalue 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
-
isUnspecified
public boolean isUnspecified()
Returnstrueif this Range is a default value,falseif the user specified this value.- Since:
- 4.0
-
isUnresolved
public boolean isUnresolved()
Returnstrueif this range contains a relative index like"1+", or variables that have not been expanded yet,falseif this Range does not contain any variables or relative indices.- Since:
- 4.0
-
isRelative
public boolean isRelative()
Returnstrueif this Range contains a relative index like"1+", orfalseif this Range does not contain any relative indices.- Since:
- 4.3
-
originalValue
public String originalValue()
Returns the original String value that this range was constructed with.- Since:
- 4.3
-
min
public int min()
Returns the lower bound of this range (inclusive).- Since:
- 4.0
-
max
public int max()
Returns the upper bound of this range (inclusive), orInteger.MAX_VALUEif this range has no upper bound.- Since:
- 4.0
-
isVariable
public boolean isVariable()
Returnstrueif this range has no fixed upper bound.- Since:
- 4.0
-
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>
-
-