|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.unboundid.util.args.Argument
com.unboundid.util.args.DurationArgument
@Mutable @ThreadSafety(level=NOT_THREADSAFE) public final class DurationArgument
Creates a new argument that is intended to represent a duration. Duration values contain an integer portion and a unit portion which represents the time unit. The unit must be one of the following:
Constructor Summary | |
---|---|
DurationArgument(java.lang.Character shortIdentifier,
java.lang.String longIdentifier,
boolean isRequired,
java.lang.String valuePlaceholder,
java.lang.String description)
Creates a new duration argument with no default value and no bounds on the set of allowed values. |
|
DurationArgument(java.lang.Character shortIdentifier,
java.lang.String longIdentifier,
boolean isRequired,
java.lang.String valuePlaceholder,
java.lang.String description,
java.lang.Long defaultValue,
java.util.concurrent.TimeUnit defaultValueUnit,
java.lang.Long lowerBound,
java.util.concurrent.TimeUnit lowerBoundUnit,
java.lang.Long upperBound,
java.util.concurrent.TimeUnit upperBoundUnit)
Creates a new duration argument with the provided information. |
|
DurationArgument(java.lang.Character shortIdentifier,
java.lang.String longIdentifier,
java.lang.String description)
Creates a new duration argument that will not be required, will use a default placeholder, and will have no default value and no bounds on the set of allowed values. |
Method Summary | |
---|---|
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. |
DurationArgument |
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.Long |
getDefaultValue(java.util.concurrent.TimeUnit unit)
Retrieves the default value for this argument using the specified time unit, if defined. |
long |
getLowerBound(java.util.concurrent.TimeUnit unit)
Retrieves the lower bound for this argument using the specified time unit. |
long |
getUpperBound(java.util.concurrent.TimeUnit unit)
Retrieves the upper bound for this argument using the specified time unit. |
java.lang.Long |
getValue(java.util.concurrent.TimeUnit unit)
Retrieves the value for this argument using the specified time unit, if one 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<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. |
static java.lang.String |
nanosToDuration(long nanos)
Converts the specified number of nanoseconds into a duration string using the largest possible whole unit (e.g., if the value represents a whole number of seconds, then the returned string will be expressed in seconds). |
static long |
parseDuration(java.lang.String durationString,
java.util.concurrent.TimeUnit timeUnit)
Parses the provided string representation of a duration to a corresponding numeric representation. |
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. |
Methods inherited from class com.unboundid.util.args.Argument |
---|
addLongIdentifier, addShortIdentifier, appendBasicToStringInfo, getArgumentGroupName, getDescription, getIdentifierString, getLongIdentifier, getLongIdentifiers, getMaxOccurrences, getNumOccurrences, getShortIdentifier, getShortIdentifiers, getValuePlaceholder, hasLongIdentifier, hasShortIdentifier, isHidden, isPresent, isRequired, isSensitive, isUsageArgument, setArgumentGroupName, setHidden, setMaxOccurrences, setSensitive, setUsageArgument, takesValue, toString |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public DurationArgument(java.lang.Character shortIdentifier, java.lang.String longIdentifier, 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 DurationArgument(java.lang.Character shortIdentifier, java.lang.String longIdentifier, boolean isRequired, java.lang.String valuePlaceholder, 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.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 DurationArgument(java.lang.Character shortIdentifier, java.lang.String longIdentifier, boolean isRequired, java.lang.String valuePlaceholder, java.lang.String description, java.lang.Long defaultValue, java.util.concurrent.TimeUnit defaultValueUnit, java.lang.Long lowerBound, java.util.concurrent.TimeUnit lowerBoundUnit, java.lang.Long upperBound, java.util.concurrent.TimeUnit upperBoundUnit) 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.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 none is provided. It may be
null
if there should not be a default
value.defaultValueUnit
- The time unit for the default value. It may be
null
only if the default value is also
null
.lowerBound
- The value for the minimum duration that may be
represented using this argument, in conjunction
with the lowerBoundUnit
parameter to
specify the unit for this value. If this is
null
, then a lower bound of 0 nanoseconds
will be used.lowerBoundUnit
- The time unit for the lower bound value. It may
be null
only if the lower bound is also
null
.upperBound
- The value for the maximum duration that may be
represented using this argument, in conjunction
with the upperBoundUnit
parameter to
specify the unit for this value. If this is
null
, then an upper bound of
Long.MAX_VALUE
nanoseconds will be used.upperBoundUnit
- The time unit for the upper bound value. It may
be null
only if the upper bound is also
null
.
ArgumentException
- If there is a problem with the definition of
this argument.Method Detail |
---|
public long getLowerBound(java.util.concurrent.TimeUnit unit)
unit
- The time unit in which the lower bound value may be
expressed.
public long getUpperBound(java.util.concurrent.TimeUnit unit)
unit
- The time unit in which the upper bound value may be
expressed.
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.public java.lang.Long getDefaultValue(java.util.concurrent.TimeUnit unit)
unit
- The time unit in which the default value should be expressed.
null
if none is defined.public java.lang.Long getValue(java.util.concurrent.TimeUnit unit)
unit
- The time unit in which to express the value for this
argument.
null
will be returned.public void addValueValidator(ArgumentValueValidator validator)
validator
- The argument value validator to be invoked. It must not
be null
.protected void addValue(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.public static long parseDuration(java.lang.String durationString, java.util.concurrent.TimeUnit timeUnit) throws ArgumentException
durationString
- The string representation of the duration to be
parsed.timeUnit
- The time unit to use for the return value.
ArgumentException
- If the provided string cannot be parsed as a
valid duration.public java.lang.String getDataTypeName()
getDataTypeName
in class Argument
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.
reset
in class Argument
public DurationArgument getCleanCopy()
getCleanCopy
in class Argument
public static java.lang.String nanosToDuration(long nanos)
nanos
- The number of nanoseconds to convert to a duration string.
protected void addToCommandLine(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.public void toString(java.lang.StringBuilder buffer)
toString
in class Argument
buffer
- The buffer to which the information should be appended.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |