Package com.unboundid.util.args
Class BooleanArgument
- java.lang.Object
-
- com.unboundid.util.args.Argument
-
- com.unboundid.util.args.BooleanArgument
-
- All Implemented Interfaces:
java.io.Serializable
@Mutable @ThreadSafety(level=NOT_THREADSAFE) public final class BooleanArgument extends Argument
Creates a new argument that is intended to represent Boolean states based on whether it was present in the provided set of command-line arguments. Boolean arguments never have values, since the argument identifier itself is sufficient to indicate presence. If the argument is present in the set of provided command-line arguments, then it will be assumed to have a value oftrue
. If the argument is not present, then it will be assumed to have a value offalse
.
Note that it may be beneficial in some cases to allow multiple occurrences of the same Boolean argument if that has special meaning (e.g., if "-v" is used to enable verbose output, then perhaps "-v -v" would be even more verbose).- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description BooleanArgument(java.lang.Character shortIdentifier, java.lang.String longIdentifier, int maxOccurrences, java.lang.String description)
Creates a new Boolean argument with the provided information.BooleanArgument(java.lang.Character shortIdentifier, java.lang.String longIdentifier, java.lang.String description)
Creates a new Boolean argument with the provided information.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addToCommandLine(java.util.List<java.lang.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 void
addValue(java.lang.String valueString)
Adds the provided value to the set of values for this argument.BooleanArgument
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.java.lang.String
getDataTypeName()
Retrieves a concise name of the data type with which this argument is associated.java.lang.String
getValueConstraints()
Retrieves a human-readable string with information about any constraints that may be imposed for values of this argument.java.util.List<java.lang.String>
getValueStringRepresentations(boolean useDefault)
Retrieves a list containing the string representations of the values for this argument, if any.protected boolean
hasDefaultValue()
Indicates whether this argument has one or more default values that will be used if it is not provided on the command line.void
toString(java.lang.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, reset, setArgumentGroupName, setHidden, setMaxOccurrences, setSensitive, setUsageArgument, takesValue, toString
-
-
-
-
Constructor Detail
-
BooleanArgument
public BooleanArgument(java.lang.Character shortIdentifier, java.lang.String longIdentifier, java.lang.String description) throws ArgumentException
Creates a new Boolean argument with the provided information. The argument will be allowed at most one time in a set of command line arguments.- Parameters:
shortIdentifier
- The short identifier for this argument. It may not benull
if the long identifier isnull
.longIdentifier
- The long identifier for this argument. It may not benull
if 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.
-
BooleanArgument
public BooleanArgument(java.lang.Character shortIdentifier, java.lang.String longIdentifier, int maxOccurrences, java.lang.String description) throws ArgumentException
Creates a new Boolean argument with the provided information.- Parameters:
shortIdentifier
- The short identifier for this argument. It may not benull
if the long identifier isnull
.longIdentifier
- The long identifier for this argument. It may not benull
if the short identifier isnull
.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.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.
-
-
Method Detail
-
addValue
protected void addValue(java.lang.String valueString) throws ArgumentException
Adds the provided value to the set of values for this argument. This method should only be called by the argument parser.- Specified by:
addValue
in 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.
-
getValueStringRepresentations
public java.util.List<java.lang.String> getValueStringRepresentations(boolean useDefault)
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:
getValueStringRepresentations
in 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
protected boolean 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:
hasDefaultValue
in classArgument
- Returns:
true
if this argument has one or more default values, orfalse
if not.
-
getDataTypeName
public java.lang.String getDataTypeName()
Retrieves a concise name of the data type with which this argument is associated.- Specified by:
getDataTypeName
in classArgument
- Returns:
- A concise name of the data type with which this argument is associated.
-
getValueConstraints
public java.lang.String getValueConstraints()
Retrieves a human-readable string with information about any constraints that may be imposed for values of this argument.- Overrides:
getValueConstraints
in classArgument
- Returns:
- A human-readable string with information about any constraints
that may be imposed for values of this argument, or
null
if there are none.
-
getCleanCopy
public BooleanArgument 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:
getCleanCopy
in classArgument
- Returns:
- The "clean" copy of this argument.
-
addToCommandLine
protected void addToCommandLine(java.util.List<java.lang.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.- Specified by:
addToCommandLine
in classArgument
- Parameters:
argStrings
- The list to update with the string representation of the command-line arguments.
-
-