Package com.unboundid.util.args
Class IntegerArgument
java.lang.Object
com.unboundid.util.args.Argument
com.unboundid.util.args.IntegerArgument
- All Implemented Interfaces:
Serializable
This class defines an argument that is intended to hold one or more integer
values. Integer arguments must take values. By default, any value will be
allowed, but it is possible to restrict the set of values to a given range
using upper and lower bounds.
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionIntegerArgument(Character shortIdentifier, String longIdentifier, boolean isRequired, int maxOccurrences, String valuePlaceholder, String description) Creates a new integer argument with the provided information.IntegerArgument(Character shortIdentifier, String longIdentifier, boolean isRequired, int maxOccurrences, String valuePlaceholder, String description, int lowerBound, int upperBound) Creates a new integer argument with the provided information.IntegerArgument(Character shortIdentifier, String longIdentifier, boolean isRequired, int maxOccurrences, String valuePlaceholder, String description, int lowerBound, int upperBound, Integer defaultValue) Creates a new integer argument with the provided information.IntegerArgument(Character shortIdentifier, String longIdentifier, boolean isRequired, int maxOccurrences, String valuePlaceholder, String description, int lowerBound, int upperBound, List<Integer> defaultValues) Creates a new integer argument with the provided information.IntegerArgument(Character shortIdentifier, String longIdentifier, boolean isRequired, int maxOccurrences, String valuePlaceholder, String description, Integer defaultValue) Creates a new integer argument with the provided information.IntegerArgument(Character shortIdentifier, String longIdentifier, boolean isRequired, int maxOccurrences, String valuePlaceholder, String description, List<Integer> defaultValues) Creates a new integer argument with the provided information.IntegerArgument(Character shortIdentifier, String longIdentifier, String description) Creates a new integer argument with the provided information. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddToCommandLine(List<String> argStrings) Updates the provided list to add any strings that should be included on the command line in order to represent this argument's current state.protected voidAdds the provided value to the set of values for this argument.voidaddValueValidator(ArgumentValueValidator validator) Updates this argument to ensure that the provided validator will be invoked for any values provided to this argument.Creates a copy of this argument that is "clean" and appears as if it has not been used in the course of parsing an argument set.Retrieves a concise name of the data type with which this argument is associated.Retrieves the list of default values for this argument, which will be used if no values were provided.intRetrieves the smallest value that this argument will be allowed to have.intRetrieves the largest value that this argument will be allowed to have.getValue()Retrieves the value for this argument, or the default value if none was provided.Retrieves a human-readable string with information about any constraints that may be imposed for values of this argument.Retrieves the set of values for this argument, or the default values if none were provided.getValueStringRepresentations(boolean useDefault) Retrieves a list containing the string representations of the values for this argument, if any.protected booleanIndicates whether this argument has one or more default values that will be used if it is not provided on the command line.protected voidreset()Resets this argument so that it appears in the same form as before it was used to parse arguments.voidtoString(StringBuilder buffer) Appends a string representation of this argument to the provided buffer.Methods inherited from class com.unboundid.util.args.Argument
addLongIdentifier, addLongIdentifier, addShortIdentifier, addShortIdentifier, appendBasicToStringInfo, getArgumentGroupName, getDescription, getIdentifierString, getLongIdentifier, getLongIdentifiers, getLongIdentifiers, getMaxOccurrences, getNumOccurrences, getShortIdentifier, getShortIdentifiers, getShortIdentifiers, getValuePlaceholder, hasLongIdentifier, hasShortIdentifier, isHidden, isPresent, isRequired, isSensitive, isUsageArgument, setArgumentGroupName, setHidden, setMaxOccurrences, setSensitive, setUsageArgument, takesValue, toString
-
Constructor Details
-
IntegerArgument
public IntegerArgument(@Nullable Character shortIdentifier, @Nullable String longIdentifier, @NotNull String description) throws ArgumentException Creates a new integer argument with the provided information. It will not be required, will permit at most one occurrence, will use a default placeholder, will not have a default value, and will not impose any restrictions on the range of values that may be assigned to this argument.- Parameters:
shortIdentifier- The short identifier for this argument. It may not benullif the long identifier isnull.longIdentifier- The long identifier for this argument. It may not benullif the short identifier isnull.description- A human-readable description for this argument. It must not benull.- Throws:
ArgumentException- If there is a problem with the definition of this argument.
-
IntegerArgument
public IntegerArgument(@Nullable Character shortIdentifier, @Nullable String longIdentifier, boolean isRequired, int maxOccurrences, @Nullable String valuePlaceholder, @NotNull String description) throws ArgumentException Creates a new integer argument with the provided information. There will not be any default values, nor will there be any restriction on values that may be assigned to this argument.- Parameters:
shortIdentifier- The short identifier for this argument. It may not benullif the long identifier isnull.longIdentifier- The long identifier for this argument. It may not benullif the short identifier isnull.isRequired- Indicates whether this argument is required to be provided.maxOccurrences- The maximum number of times this argument may be provided on the command line. A value less than or equal to zero indicates that it may be present any number of times.valuePlaceholder- A placeholder to display in usage information to indicate that a value must be provided. It may benullif a default placeholder should be used.description- A human-readable description for this argument. It must not benull.- Throws:
ArgumentException- If there is a problem with the definition of this argument.
-
IntegerArgument
public IntegerArgument(@Nullable Character shortIdentifier, @Nullable String longIdentifier, boolean isRequired, int maxOccurrences, @Nullable String valuePlaceholder, @NotNull String description, int lowerBound, int upperBound) throws ArgumentException Creates a new integer argument with the provided information. There will not be any default values, but the range of values that will be allowed may be restricted.- Parameters:
shortIdentifier- The short identifier for this argument. It may not benullif the long identifier isnull.longIdentifier- The long identifier for this argument. It may not benullif the short identifier isnull.isRequired- Indicates whether this argument is required to be provided.maxOccurrences- The maximum number of times this argument may be provided on the command line. A value less than or equal to zero indicates that it may be present any number of times.valuePlaceholder- A placeholder to display in usage information to indicate that a value must be provided. It may benullif a default placeholder should be used.description- A human-readable description for this argument. It must not benull.lowerBound- The smallest value that this argument is allowed to have. It should beInteger.MIN_VALUEif there should be no lower bound.upperBound- The largest value that this argument is allowed to have. It should beInteger.MAX_VALUEif there should be no upper bound.- Throws:
ArgumentException- If there is a problem with the definition of this argument.
-
IntegerArgument
public IntegerArgument(@Nullable Character shortIdentifier, @Nullable String longIdentifier, boolean isRequired, int maxOccurrences, @Nullable String valuePlaceholder, @NotNull String description, @Nullable Integer defaultValue) throws ArgumentException Creates a new integer argument with the provided information. There will not be any restriction on values that may be assigned to this argument.- Parameters:
shortIdentifier- The short identifier for this argument. It may not benullif the long identifier isnull.longIdentifier- The long identifier for this argument. It may not benullif the short identifier isnull.isRequired- Indicates whether this argument is required to be provided.maxOccurrences- The maximum number of times this argument may be provided on the command line. A value less than or equal to zero indicates that it may be present any number of times.valuePlaceholder- A placeholder to display in usage information to indicate that a value must be provided. It may benullif a default placeholder should be used.description- A human-readable description for this argument. It must not benull.defaultValue- The default value that will be used for this argument if no values are provided. It may benullif there should not be a default value.- Throws:
ArgumentException- If there is a problem with the definition of this argument.
-
IntegerArgument
public IntegerArgument(@Nullable Character shortIdentifier, @Nullable String longIdentifier, boolean isRequired, int maxOccurrences, @Nullable String valuePlaceholder, @NotNull String description, @Nullable List<Integer> defaultValues) throws ArgumentException Creates a new integer argument with the provided information. There will not be any restriction on values that may be assigned to this argument.- Parameters:
shortIdentifier- The short identifier for this argument. It may not benullif the long identifier isnull.longIdentifier- The long identifier for this argument. It may not benullif the short identifier isnull.isRequired- Indicates whether this argument is required to be provided.maxOccurrences- The maximum number of times this argument may be provided on the command line. A value less than or equal to zero indicates that it may be present any number of times.valuePlaceholder- A placeholder to display in usage information to indicate that a value must be provided. It may benullif a default placeholder should be used.description- A human-readable description for this argument. It must not benull.defaultValues- The set of default values that will be used for this argument if no values are provided.- Throws:
ArgumentException- If there is a problem with the definition of this argument.
-
IntegerArgument
public IntegerArgument(@Nullable Character shortIdentifier, @Nullable String longIdentifier, boolean isRequired, int maxOccurrences, @Nullable String valuePlaceholder, @NotNull String description, int lowerBound, int upperBound, @Nullable Integer defaultValue) throws ArgumentException Creates a new integer argument with the provided information.- Parameters:
shortIdentifier- The short identifier for this argument. It may not benullif the long identifier isnull.longIdentifier- The long identifier for this argument. It may not benullif the short identifier isnull.isRequired- Indicates whether this argument is required to be provided.maxOccurrences- The maximum number of times this argument may be provided on the command line. A value less than or equal to zero indicates that it may be present any number of times.valuePlaceholder- A placeholder to display in usage information to indicate that a value must be provided. It may benullif a default placeholder should be used.description- A human-readable description for this argument. It must not benull.lowerBound- The smallest value that this argument is allowed to have. It should beInteger.MIN_VALUEif there should be no lower bound.upperBound- The largest value that this argument is allowed to have. It should beInteger.MAX_VALUEif there should be no upper bound.defaultValue- The default value that will be used for this argument if no values are provided. It may benullif there should not be a default value.- Throws:
ArgumentException- If there is a problem with the definition of this argument.
-
IntegerArgument
public IntegerArgument(@Nullable Character shortIdentifier, @Nullable String longIdentifier, boolean isRequired, int maxOccurrences, @Nullable String valuePlaceholder, @NotNull String description, int lowerBound, int upperBound, @Nullable List<Integer> defaultValues) throws ArgumentException Creates a new integer argument with the provided information.- Parameters:
shortIdentifier- The short identifier for this argument. It may not benullif the long identifier isnull.longIdentifier- The long identifier for this argument. It may not benullif the short identifier isnull.isRequired- Indicates whether this argument is required to be provided.maxOccurrences- The maximum number of times this argument may be provided on the command line. A value less than or equal to zero indicates that it may be present any number of times.valuePlaceholder- A placeholder to display in usage information to indicate that a value must be provided. It may benullif a default placeholder should be used.description- A human-readable description for this argument. It must not benull.lowerBound- The smallest value that this argument is allowed to have. It should beInteger.MIN_VALUEif there should be no lower bound.upperBound- The largest value that this argument is allowed to have. It should beInteger.MAX_VALUEif there should be no upper bound.defaultValues- The set of default values that will be used for this argument if no values are provided.- Throws:
ArgumentException- If there is a problem with the definition of this argument.
-
-
Method Details
-
getLowerBound
Retrieves the smallest value that this argument will be allowed to have.- Returns:
- The smallest value that this argument will be allowed to have.
-
getUpperBound
Retrieves the largest value that this argument will be allowed to have.- Returns:
- The largest value that this argument will be allowed to have.
-
getDefaultValues
Retrieves the list of default values for this argument, which will be used if no values were provided.- Returns:
- The list of default values for this argument, or
nullif there are no default values.
-
addValueValidator
Updates this argument to ensure that the provided validator will be invoked for any values provided to this argument. This validator will be invoked after all other validation has been performed for this argument.- Parameters:
validator- The argument value validator to be invoked. It must not benull.
-
addValue
Adds the provided value to the set of values for this argument. This method should only be called by the argument parser.- Specified by:
addValuein classArgument- Parameters:
valueString- The string representation of the value.- Throws:
ArgumentException- If the provided value is not acceptable, if this argument does not accept values, or if this argument already has the maximum allowed number of values.
-
getValue
Retrieves the value for this argument, or the default value if none was provided. If this argument has multiple values, then the first will be returned.- Returns:
- The value for this argument, or the default value if none was
provided, or
nullif it does not have any values or default values.
-
getValues
Retrieves the set of values for this argument, or the default values if none were provided.- Returns:
- The set of values for this argument, or the default values if none were provided.
-
getValueStringRepresentations
Retrieves a list containing the string representations of the values for this argument, if any. The list returned does not necessarily need to include values that will be acceptable to the argument, but it should imply what the values are (e.g., in the case of a boolean argument that doesn't take a value, it may be the string "true" or "false" even if those values are not acceptable to the argument itself).- Specified by:
getValueStringRepresentationsin classArgument- Parameters:
useDefault- Indicates whether to use any configured default value if the argument doesn't have a user-specified value.- Returns:
- A string representation of the value for this argument, or an empty list if the argument does not have a value.
-
hasDefaultValue
Indicates whether this argument has one or more default values that will be used if it is not provided on the command line.- Specified by:
hasDefaultValuein classArgument- Returns:
trueif this argument has one or more default values, orfalseif not.
-
getDataTypeName
Retrieves a concise name of the data type with which this argument is associated.- Specified by:
getDataTypeNamein classArgument- Returns:
- A concise name of the data type with which this argument is associated.
-
getValueConstraints
Retrieves a human-readable string with information about any constraints that may be imposed for values of this argument.- Overrides:
getValueConstraintsin classArgument- Returns:
- A human-readable string with information about any constraints
that may be imposed for values of this argument, or
nullif there are none.
-
reset
Resets this argument so that it appears in the same form as before it was used to parse arguments. Subclasses that override this method must callsuper.reset()to ensure that all necessary reset processing is performed. -
getCleanCopy
Creates a copy of this argument that is "clean" and appears as if it has not been used in the course of parsing an argument set. The new argument will have all of the same identifiers and constraints as this parser.- Specified by:
getCleanCopyin classArgument- Returns:
- The "clean" copy of this argument.
-
addToCommandLine
Updates the provided list to add any strings that should be included on the command line in order to represent this argument's current state.- Specified by:
addToCommandLinein classArgument- Parameters:
argStrings- The list to update with the string representation of the command-line arguments.
-
toString
Appends a string representation of this argument to the provided buffer.
-