@Mutable @ThreadSafety(level=NOT_THREADSAFE) public final class ControlArgument extends Argument
true
, t
, yes
, y
,
on
, or 1
. The control will be non-critical if the
criticality value is any of the following: false
, f
,
no
, n
, off
, or 0
. No other criticality
values will be accepted.
Constructor and Description |
---|
ControlArgument(java.lang.Character shortIdentifier,
java.lang.String longIdentifier,
boolean isRequired,
int maxOccurrences,
java.lang.String valuePlaceholder,
java.lang.String description)
Creates a new control argument with the provided information.
|
ControlArgument(java.lang.Character shortIdentifier,
java.lang.String longIdentifier,
boolean isRequired,
int maxOccurrences,
java.lang.String valuePlaceholder,
java.lang.String description,
Control defaultValue)
Creates a new control argument with the provided information.
|
ControlArgument(java.lang.Character shortIdentifier,
java.lang.String longIdentifier,
boolean isRequired,
int maxOccurrences,
java.lang.String valuePlaceholder,
java.lang.String description,
java.util.List<Control> defaultValues)
Creates a new control argument with the provided information.
|
ControlArgument(java.lang.Character shortIdentifier,
java.lang.String longIdentifier,
java.lang.String description)
Creates a new control argument with the provided information.
|
Modifier and Type | Method and 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.
|
void |
addValueValidator(ArgumentValueValidator validator)
Updates this argument to ensure that the provided validator will be invoked
for any values provided to this argument.
|
ControlArgument |
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.util.List<Control> |
getDefaultValues()
Retrieves the list of default values for this argument, which will be used
if no values were provided.
|
Control |
getValue()
Retrieves the value for this argument, or the default value if none was
provided.
|
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<Control> |
getValues()
Retrieves the set of values for this argument, or the default values if
none were provided.
|
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.
|
protected void |
reset()
Resets this argument so that it appears in the same form as before it was
used to parse arguments.
|
void |
toString(java.lang.StringBuilder buffer)
Appends a string representation of this argument to the provided buffer.
|
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
public ControlArgument(@Nullable java.lang.Character shortIdentifier, @Nullable java.lang.String longIdentifier, @NotNull java.lang.String description) throws ArgumentException
shortIdentifier
- The short identifier for this argument. It may
not be null
if the long identifier is
null
.longIdentifier
- The long identifier for this argument. It may
not be null
if the short identifier is
null
.description
- A human-readable description for this argument.
It must not be null
.ArgumentException
- If there is a problem with the definition of
this argument.public ControlArgument(@Nullable java.lang.Character shortIdentifier, @Nullable java.lang.String longIdentifier, boolean isRequired, int maxOccurrences, @Nullable java.lang.String valuePlaceholder, @NotNull java.lang.String description) throws ArgumentException
shortIdentifier
- The short identifier for this argument. It may
not be null
if the long identifier is
null
.longIdentifier
- The long identifier for this argument. It may
not be null
if the short identifier is
null
.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
be null
to use a default placeholder that
describes the expected syntax for values.description
- A human-readable description for this argument.
It must not be null
.ArgumentException
- If there is a problem with the definition of
this argument.public ControlArgument(@Nullable java.lang.Character shortIdentifier, @Nullable java.lang.String longIdentifier, boolean isRequired, int maxOccurrences, @Nullable java.lang.String valuePlaceholder, @NotNull java.lang.String description, @Nullable Control defaultValue) throws ArgumentException
shortIdentifier
- The short identifier for this argument. It may
not be null
if the long identifier is
null
.longIdentifier
- The long identifier for this argument. It may
not be null
if the short identifier is
null
.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
be null
to use a default placeholder that
describes the expected syntax for values.description
- A human-readable description for this argument.
It must not be null
.defaultValue
- The default value to use for this argument if no
values were provided. It may be null
if
there should be no default values.ArgumentException
- If there is a problem with the definition of
this argument.public ControlArgument(@Nullable java.lang.Character shortIdentifier, @Nullable java.lang.String longIdentifier, boolean isRequired, int maxOccurrences, @Nullable java.lang.String valuePlaceholder, @NotNull java.lang.String description, @Nullable java.util.List<Control> defaultValues) throws ArgumentException
shortIdentifier
- The short identifier for this argument. It may
not be null
if the long identifier is
null
.longIdentifier
- The long identifier for this argument. It may
not be null
if the short identifier is
null
.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
be null
to use a default placeholder that
describes the expected syntax for values.description
- A human-readable description for this argument.
It must not be null
.defaultValues
- The set of default values to use for this
argument if no values were provided.ArgumentException
- If there is a problem with the definition of
this argument.@Nullable public java.util.List<Control> getDefaultValues()
null
if
there are no default values.public void addValueValidator(@NotNull ArgumentValueValidator validator)
validator
- The argument value validator to be invoked. It must not
be null
.protected void addValue(@NotNull java.lang.String valueString) throws ArgumentException
addValue
in class Argument
valueString
- The string representation of the value.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.@Nullable public Control getValue()
null
if there is no value and no default
value.@NotNull public java.util.List<Control> getValues()
@NotNull public java.util.List<java.lang.String> getValueStringRepresentations(boolean useDefault)
getValueStringRepresentations
in class Argument
useDefault
- Indicates whether to use any configured default value
if the argument doesn't have a user-specified value.protected boolean hasDefaultValue()
hasDefaultValue
in class Argument
true
if this argument has one or more default values, or
false
if not.@NotNull public java.lang.String getDataTypeName()
getDataTypeName
in class Argument
@NotNull public java.lang.String getValueConstraints()
getValueConstraints
in class Argument
null
if there are none.protected void reset()
super.reset()
to ensure that all necessary reset processing is
performed.@NotNull public ControlArgument getCleanCopy()
getCleanCopy
in class Argument
protected void addToCommandLine(@NotNull java.util.List<java.lang.String> argStrings)
addToCommandLine
in class Argument
argStrings
- The list to update with the string representation of
the command-line arguments.