@Mutable @ThreadSafety(level=NOT_THREADSAFE) public final class StringArgument extends Argument
| Constructor and Description |
|---|
StringArgument(java.lang.Character shortIdentifier,
java.lang.String longIdentifier,
boolean isRequired,
int maxOccurrences,
java.lang.String valuePlaceholder,
java.lang.String description)
Creates a new string argument with the provided information.
|
StringArgument(java.lang.Character shortIdentifier,
java.lang.String longIdentifier,
boolean isRequired,
int maxOccurrences,
java.lang.String valuePlaceholder,
java.lang.String description,
java.util.List<java.lang.String> defaultValues)
Creates a new string argument with the provided information.
|
StringArgument(java.lang.Character shortIdentifier,
java.lang.String longIdentifier,
boolean isRequired,
int maxOccurrences,
java.lang.String valuePlaceholder,
java.lang.String description,
java.util.Set<java.lang.String> allowedValues)
Creates a new string argument with the provided information.
|
StringArgument(java.lang.Character shortIdentifier,
java.lang.String longIdentifier,
boolean isRequired,
int maxOccurrences,
java.lang.String valuePlaceholder,
java.lang.String description,
java.util.Set<java.lang.String> allowedValues,
java.util.List<java.lang.String> defaultValues)
Creates a new string argument with the provided information.
|
StringArgument(java.lang.Character shortIdentifier,
java.lang.String longIdentifier,
boolean isRequired,
int maxOccurrences,
java.lang.String valuePlaceholder,
java.lang.String description,
java.util.Set<java.lang.String> allowedValues,
java.lang.String defaultValue)
Creates a new string argument with the provided information.
|
StringArgument(java.lang.Character shortIdentifier,
java.lang.String longIdentifier,
boolean isRequired,
int maxOccurrences,
java.lang.String valuePlaceholder,
java.lang.String description,
java.lang.String defaultValue)
Creates a new string argument with the provided information.
|
StringArgument(java.lang.Character shortIdentifier,
java.lang.String longIdentifier,
java.lang.String description)
Creates a new string 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.
|
java.util.Set<java.lang.String> |
getAllowedValues()
Retrieves the set of allowed values for this argument, if applicable.
|
StringArgument |
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<java.lang.String> |
getDefaultValues()
Retrieves the list of default values for this argument, which will be used
if no values were provided.
|
java.lang.String |
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.regex.Pattern |
getValueRegex()
Retrieves the regular expression that values of this argument will be
required to match, if any.
|
java.lang.String |
getValueRegexExplanation()
Retrieves a human-readable explanation of the regular expression pattern
that may be required to match any provided values, if any.
|
java.util.List<java.lang.String> |
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 |
setValueRegex(java.util.regex.Pattern valueRegex,
java.lang.String explanation)
Specifies the regular expression that values of this argument will be
required to match, if any.
|
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, toStringpublic StringArgument(@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 StringArgument(@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 if a default placeholder should
be used.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 StringArgument(@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.Set<java.lang.String> allowedValues) 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 if a default placeholder should
be used.description - A human-readable description for this argument.
It must not be null.allowedValues - The set of allowed values for this argument, or
null if it should not be restricted.ArgumentException - If there is a problem with the definition of
this argument.public StringArgument(@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.lang.String 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 if a default placeholder should
be used.description - A human-readable description for this argument.
It must not be null.defaultValue - The default value that will be used for this
argument if no values are provided. It may be
null if there should not be a default
value.ArgumentException - If there is a problem with the definition of
this argument.public StringArgument(@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<java.lang.String> 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 if a default placeholder should
be used.description - A human-readable description for this argument.
It must not be null.defaultValues - The set of default values that will be used for
this argument if no values are provided.ArgumentException - If there is a problem with the definition of
this argument.public StringArgument(@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.Set<java.lang.String> allowedValues, @Nullable java.lang.String 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 if a default placeholder should
be used.description - A human-readable description for this argument.
It must not be null.allowedValues - The set of allowed values for this argument, or
null if it should not be restricted.defaultValue - The default value that will be used for this
argument if no values are provided. It may be
null if there should not be a default
value.ArgumentException - If there is a problem with the definition of
this argument.public StringArgument(@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.Set<java.lang.String> allowedValues, @Nullable java.util.List<java.lang.String> 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 if a default placeholder should
be used.description - A human-readable description for this argument.
It must not be null.allowedValues - The set of allowed values for this argument, or
null if it should not be restricted.defaultValues - The set of default values that will be used for
this argument if no values are provided.ArgumentException - If there is a problem with the definition of
this argument.@Nullable public java.util.Set<java.lang.String> getAllowedValues()
null if
there is no restriction on the allowed values.@Nullable public java.util.List<java.lang.String> getDefaultValues()
null if
there are no default values.@Nullable public java.util.regex.Pattern getValueRegex()
null if none is defined.@Nullable public java.lang.String getValueRegexExplanation()
null if none is available.public void setValueRegex(@Nullable java.util.regex.Pattern valueRegex, @Nullable java.lang.String explanation)
valueRegex - The regular expression that values of this argument
will be required to match. It may be null if
no pattern matching should be required.explanation - A human-readable explanation for the pattern which may
be used to clarify the kinds of values that are
acceptable. It may be null if no pattern
matching should be required, or if the regular
expression pattern should be sufficiently clear for
the target audience.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 ArgumentvalueString - 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 java.lang.String getValue()
null if it does not have any values or
default values.@NotNull public java.util.List<java.lang.String> getValues()
@NotNull public java.util.List<java.lang.String> getValueStringRepresentations(boolean useDefault)
getValueStringRepresentations in class ArgumentuseDefault - Indicates whether to use any configured default value
if the argument doesn't have a user-specified value.protected boolean hasDefaultValue()
hasDefaultValue in class Argumenttrue if this argument has one or more default values, or
false if not.@NotNull public java.lang.String getDataTypeName()
getDataTypeName in class Argument@Nullable public java.lang.String getValueConstraints()
getValueConstraints in class Argumentnull
if there are none.protected void reset()
super.reset() to ensure that all necessary reset processing is
performed.@NotNull public StringArgument getCleanCopy()
getCleanCopy in class Argumentprotected void addToCommandLine(@NotNull java.util.List<java.lang.String> argStrings)
addToCommandLine in class ArgumentargStrings - The list to update with the string representation of
the command-line arguments.