|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjcmdline.AbstractParameter
jcmdline.TimeParam
A parameter that accepts a time as its value.
The format for the time is "HH:mm:ss:SSS", where the seconds and/or milliseconds portion may be left off by the user, in which case they will be defaulted.
Sample Usage:
TimeParam startTimeParam = new TimeParam("startTime", "start time of report", TimeParam.REQUIRED); TimeParam endTimeParam = new TimeParam("endTime", "end time of report", TimeParam.REQUIRED); // Seconds and millis for startTime will both be 0 by default. // Set the seconds and millis for the end of the report to be the end // of a minute. endTimeParam.setDefaultSeconds(59); endTimeParam.setDefaultMilliSeconds(999); CmdLineHandler cl = new DefaultCmdLineHandler( "myreport", "generate current activity report", new Parameter[] {}, new Parameter[] { startTimeParam, endTimeParam }); cl.parse(); // Don't need to check isSet() because params are REQUIRED Date today = new Date(); Date stTime = startTimeParam.getDate(today); Date enTime = endTimeParam.getDate(today); . .This will result in a command line that may be executed as:
myreport "10:12" "23:34"or
myreport "10:12:34:567" "23:34:34:567"
DateParam
,
TimeParam
Field Summary |
Fields inherited from class jcmdline.AbstractParameter |
acceptableValues, desc, hidden, ignoreRequired, multiValued, optional, optionLabel, set, tag, values |
Fields inherited from interface jcmdline.Parameter |
HIDDEN, MULTI_VALUED, OPTIONAL, PUBLIC, REQUIRED, SINGLE_VALUED |
Constructor Summary | |
TimeParam(java.lang.String tag,
java.lang.String desc)
constructor - creates single-valued, optional, public parameter |
|
TimeParam(java.lang.String tag,
java.lang.String desc,
boolean optional)
constructor - creates single-valued, public parameter which will will be either optional or required, as specified. |
|
TimeParam(java.lang.String tag,
java.lang.String desc,
boolean optional,
boolean multiValued)
constructor - creates a public parameter which will will be either optional or required, and/or multi-valued, as specified. |
|
TimeParam(java.lang.String tag,
java.lang.String desc,
boolean optional,
boolean multiValued,
boolean hidden)
constructor - creates a parameter which will will be either optional or required, single or multi-valued, and hidden or public as specified. |
|
TimeParam(java.lang.String tag,
java.lang.String desc,
java.lang.String[] acceptableValues)
constructor - creates a single-valued, optional, public, number parameter whose value must be one of the specified values. |
|
TimeParam(java.lang.String tag,
java.lang.String desc,
java.lang.String[] acceptableValues,
boolean optional)
constructor - creates a single-valued, public, number parameter whose value must be one of the specified values, and which is required or optional, as specified. |
|
TimeParam(java.lang.String tag,
java.lang.String desc,
java.lang.String[] acceptableValues,
boolean optional,
boolean multiValued)
constructor - creates a public number parameter whose value must be one of the specified values, and which is required or optional and/or multi-valued, as specified. |
|
TimeParam(java.lang.String tag,
java.lang.String desc,
java.lang.String[] acceptableValues,
boolean optional,
boolean multiValued,
boolean hidden)
constructor - creates a Parameter, all of whose options are specified. |
Method Summary | |
java.lang.String[] |
getAcceptableValues()
Gets the values that are acceptable for this parameter, if a restricted set exists. |
java.util.Date |
getDate(java.util.Date datePortion)
Returns a Date object whose date portion is taken from the
passed Date object, and whose time portion is
taken from the first value set. |
java.util.Date[] |
getDates(java.util.Date datePortion)
Returns Date objects whose date portion is taken from the
passed Date object, and whose time portion is
taken from the first value set. |
int |
getDefaultMilliSeconds()
Gets the default millisecond value to use if not specified by the user. |
int |
getDefaultSeconds()
Gets the seconds default to use if not specified by the user. |
java.lang.String |
getFullValue()
Gets the first value with all time components filled in, from the defaults, if necessary. |
java.lang.String[] |
getFullValues()
Gets the values with all time components filled in, from the defaults, if necessary. |
long |
getMilliValue()
Gets the number of milliseconds represented by the first value of the parameter. |
long[] |
getMilliValues()
Gets the number of milliseconds represented by all values. |
void |
setAcceptableValues(java.util.Collection vals)
Sets acceptable values for this Parameter. |
void |
setAcceptableValues(java.lang.String[] vals)
Sets acceptable values for this Parameter. |
void |
setDefaultMilliSeconds(int defaultMilliSeconds)
Sets the default millisecond value to use if not specified by the user. |
void |
setDefaultSeconds(int defaultSeconds)
Sets the seconds default to use if not specified by the user. |
void |
validateValue(java.lang.String val)
Verifies that value is valid for this entity - called by
add/setValue(s)(). |
Methods inherited from class jcmdline.AbstractParameter |
addValue, getDesc, getIgnoreRequired, getOptionLabel, getTag, getValue, getValues, isHidden, isMultiValued, isOptional, isSet, setDesc, setHidden, setIgnoreRequired, setMultiValued, setOptional, setOptionLabel, setTag, setValue, setValues, setValues |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public TimeParam(java.lang.String tag, java.lang.String desc)
tag
- a unique identifier for this parameterdesc
- a description of the parameter, suitable for display
in a usage statement
java.lang.IllegalArgumentException
- if tag
or setTag()
,
setDesc()
public TimeParam(java.lang.String tag, java.lang.String desc, boolean optional)
tag
- a unique identifier for this parameterdesc
- a description of the parameter, suitable for display
in a usage statementoptional
- OPTIONAL
if
optional,
REQUIRED
if required
java.lang.IllegalArgumentException
- if any of the specified
parameters are invalid.setTag()
,
setDesc()
public TimeParam(java.lang.String tag, java.lang.String desc, boolean optional, boolean multiValued)
tag
- a unique identifier for this parameterdesc
- a description of the parameter, suitable for display
in a usage statementoptional
- OPTIONAL
if
optional,
REQUIRED
if requiredmultiValued
- MULTI_VALUED
if
the parameter can accept multiple values,
SINGLE_VALUED
if the parameter can contain only a single value
java.lang.IllegalArgumentException
- if any of the specified
parameters are invalid.setTag()
,
setDesc()
,
SINGLE_VALUED
,
MULTI_VALUED
public TimeParam(java.lang.String tag, java.lang.String desc, boolean optional, boolean multiValued, boolean hidden)
tag
- a unique identifier for this parameterdesc
- a description of the parameter, suitable for display
in a usage statementoptional
- OPTIONAL
if
optional,
REQUIRED
if requiredmultiValued
- MULTI_VALUED
if
the parameter can accept multiple values,
SINGLE_VALUED
if the parameter can contain only a single valuehidden
- HIDDEN
if parameter is
not to be listed in the usage,
PUBLIC
otherwise.
java.lang.IllegalArgumentException
- if any of the specified
parameters are invalid.setTag()
,
setDesc()
,
SINGLE_VALUED
,
MULTI_VALUED
,
HIDDEN
,
PUBLIC
public TimeParam(java.lang.String tag, java.lang.String desc, java.lang.String[] acceptableValues)
tag
- the tag associated with this parameterdesc
- a description of the parameter, suitable for display
in a usage statementacceptableValues
- the acceptable values for the parameter
java.lang.IllegalArgumentException
- if any parameter is
invalid.setTag()
,
setDesc()
,
setAcceptableValues()
public TimeParam(java.lang.String tag, java.lang.String desc, java.lang.String[] acceptableValues, boolean optional)
tag
- the tag associated with this parameterdesc
- a description of the parameter, suitable for display
in a usage statementacceptableValues
- the acceptable values for the parameteroptional
- OPTIONAL
if
optional,
REQUIRED
if required
java.lang.IllegalArgumentException
- if any parameter is
invalid.setTag()
,
setDesc()
,
setAcceptableValues()
,
OPTIONAL
,
REQUIRED
public TimeParam(java.lang.String tag, java.lang.String desc, java.lang.String[] acceptableValues, boolean optional, boolean multiValued)
tag
- the tag associated with this parameterdesc
- a description of the parameter, suitable for display
in a usage statementacceptableValues
- the acceptable values for the parameteroptional
- OPTIONAL
if
optional,
REQUIRED
if requiredmultiValued
- MULTI_VALUED
if
the parameter can accept multiple values,
SINGLE_VALUED
if the parameter can contain only a single value
java.lang.IllegalArgumentException
- if any parameter is
invalid.setTag()
,
setDesc()
,
setAcceptableValues()
,
OPTIONAL
,
REQUIRED
,
SINGLE_VALUED
,
MULTI_VALUED
public TimeParam(java.lang.String tag, java.lang.String desc, java.lang.String[] acceptableValues, boolean optional, boolean multiValued, boolean hidden)
tag
- the tag associated with this parameterdesc
- a description of the parameter, suitable for display
in a usage statementacceptableValues
- the acceptable values for the parameteroptional
- OPTIONAL
if
optional,
REQUIRED
if requiredmultiValued
- MULTI_VALUED
if
the parameter can accept multiple values,
SINGLE_VALUED
if the parameter can contain only a single valuehidden
- HIDDEN
if parameter is
not to be listed in the usage,
PUBLIC
otherwise.
java.lang.IllegalArgumentException
- if any parameter is
invalid.setTag()
,
setDesc()
,
setAcceptableValues()
,
OPTIONAL
,
REQUIRED
,
SINGLE_VALUED
,
MULTI_VALUED
,
HIDDEN
,
PUBLIC
Method Detail |
public void validateValue(java.lang.String val) throws CmdLineException
value
is valid for this entity - called by
add/setValue(s)().
validateValue
in interface Parameter
validateValue
in class AbstractParameter
val
- the value to be validated
CmdLineException
- if value
is not valid.public java.util.Date getDate(java.util.Date datePortion)
Date
object whose date portion is taken from the
passed Date
object, and whose time portion is
taken from the first value set.
datePortion
- The date portion of the returned date will match
the date portion of this object. Any time
portion of this object will be discarded, and
the time associated with the initial value of
this parameter substituted.
public java.util.Date[] getDates(java.util.Date datePortion)
Date
objects whose date portion is taken from the
passed Date
object, and whose time portion is
taken from the first value set.
datePortion
- The date portion of the returned dates will match
the date portion of this object. Any time
portion of this object will be discarded, and
the time associated with the values of
this parameter substituted.
public long getMilliValue()
hours*MILLIS_PER_HOUR + mins*MILLIS_PER_MINUTE + secs*MILLIS_PER_SECOND + ms
public long[] getMilliValues()
getMilliValue()
public java.lang.String getFullValue()
getValue()
, which returns exactly what the user specified).
public java.lang.String[] getFullValues()
getValues()
, which returns exactly what the user specified).
public void setDefaultSeconds(int defaultSeconds)
defaultSeconds
- the seconds default to use if not specified
by the usergetDefaultSeconds()
public int getDefaultSeconds()
setDefaultSeconds()
public void setDefaultMilliSeconds(int defaultMilliSeconds)
defaultMilliSeconds
- the default millisecond value to use if
not specified by the usergetDefaultMilliSeconds()
public int getDefaultMilliSeconds()
setDefaultMilliSeconds()
public void setAcceptableValues(java.util.Collection vals)
setAcceptableValues
in interface Parameter
setAcceptableValues
in class AbstractParameter
vals
- A Collection of Strings representing
the acceptable times. If the seconds and/or
milliseconds portion of the time is left off,
the default values will be used when user input
is compared.public void setAcceptableValues(java.lang.String[] vals)
setAcceptableValues
in interface Parameter
setAcceptableValues
in class AbstractParameter
vals
- An array of Strings representing
the acceptable times. If the seconds and/or
milliseconds portion of the time is left off,
the default values will be used when user input
is compared.AbstractParameter.getAcceptableValues()
public java.lang.String[] getAcceptableValues()
getAcceptableValues
in interface Parameter
getAcceptableValues
in class AbstractParameter
setAcceptableValues()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |