Package nz.org.riskscape.picocli
Class CommandLine.Range
java.lang.Object
nz.org.riskscape.picocli.CommandLine.Range
- All Implemented Interfaces:
Comparable<CommandLine.Range>
- Enclosing class:
- CommandLine
Describes the number of parameters required and accepted by an option or a positional parameter.
- Since:
- 0.9.7
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintcompareTo(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.booleaninthashCode()booleanReturnstrueif this range contains variables that have not been expanded yet,falseif this Range does not contain any variables.booleanReturnstrueif this Range is a default value,falseif the user specified this value.booleanReturnstrueif 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.max(int newMax) Returns a new Range object with themaxvalue replaced by the specified value.intmin()Returns the lower bound of this range (inclusive).min(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.toString()unspecified(boolean unspecified) Returns a new Range object with theisUnspecifiedvalue replaced by the specified value.static CommandLine.RangeLeniently parses the specified String as anRangevalue and return the result.
-
Field Details
-
min
Deprecated.usemin()instead -
max
Deprecated.usemax()instead -
isVariable
Deprecated.useisVariable()instead
-
-
Constructor Details
-
Range
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 Details
-
optionArity
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
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
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
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.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
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
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
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
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 variables that have not been expanded yet,falseif this Range does not contain any variables.- Since:
- 4.0
-
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) Returns
trueif 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
-
equals
-
hashCode
public int hashCode() -
toString
-
compareTo
- Specified by:
compareToin interfaceComparable<CommandLine.Range>
-
isVariable()instead