|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectuk.ac.starlink.task.Parameter<T>
uk.ac.starlink.ttools.plottask.NamedObjectParameter<T>
public abstract class NamedObjectParameter<T>
Parameter subclass for selecting named options.
This resembles ChoiceParameter
in that several
named choices are available.
However, it is also possible to select options which are not in the
known option list. For this to work, a pair of methods
toString(java.lang.Object)
and fromString(java.lang.String)
must be implemented as inverses of each other so that a string can be
turned into an object.
The supplied options do not need to have names which follow this scheme.
Note: this class duplicates some of the functionality
in other Parameter subclasses. It's here for historical reasons.
New code in general ought not to make use of this class.
Field Summary |
---|
Fields inherited from class uk.ac.starlink.task.Parameter |
---|
BY_NAME |
Constructor Summary | |
---|---|
NamedObjectParameter(String name,
Class<T> clazz)
Constructs a new parameter with no named options. |
Method Summary | |
---|---|
void |
addOption(String name,
T option)
Adds an option with an associated name. |
abstract T |
fromString(String name)
Translates a string value for this parameter into the object value which it represents. |
String[] |
getNames()
Returns the names of all the named options known for this parameter. |
String |
getOptionList()
Returns a formatted XML string giving an unordered list of the options for this parameter. |
T[] |
getOptions()
Returns the option objects for all the named options known for this parameter. |
String |
getUsage()
Returns the usage string for this parameter. |
void |
setDefaultOption(T option)
Sets the default value of this parameter as an option value object. |
void |
setUsage(String usage)
Sets a usage string for this parameter. |
T |
stringToObject(Environment env,
String sval)
Takes a non-blank string, as supplied by the execution environment, and turns it into a typed value for this parameter. |
String |
toString(T option)
Translates a possible option value of this parameter into a string which represents it as a string value. |
Methods inherited from class uk.ac.starlink.task.Parameter |
---|
clearValue, getDescription, getName, getPosition, getPreferExplicit, getPrompt, getStringDefault, getValueClass, isNullPermitted, objectToString, objectValue, setDescription, setDescription, setName, setNullPermitted, setPosition, setPreferExplicit, setPrompt, setStringDefault, setValue, setValueFromObject, setValueFromString, stringValue, toArray, toString |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public NamedObjectParameter(String name, Class<T> clazz)
name
- parameter nameMethod Detail |
---|
public void addOption(String name, T option)
toString(option)
.
name
- option aliasoption
- option value objectpublic T stringToObject(Environment env, String sval) throws TaskException
Parameter
It is an error to supply a null or empty string value.
If this method fails (throws a ParameterValueException)
and if allowClassnameValue
is set, then a subsequent
attempt will be made to interpret the stringVal
as the classname of a suitable class with a no-arg constructor.
stringToObject
in class Parameter<T>
env
- execution environment; in most cases this is not required
but for some purposes environment-specific characteristics
may influence the resultsval
- non-null, non-empty string value
TaskException
public void setDefaultOption(T option)
option
must be either one of the values added using
addOption(java.lang.String, T)
or toString(java.lang.Object)
must be
able to translate it. Or it could be null.
option
- new default value as an objectpublic String toString(T option)
option
- object value
public abstract T fromString(String name)
The implementation must be such that
fromString(toString(o)).equals(o)
.
name
- option name
public String getOptionList()
public String[] getNames()
public T[] getOptions()
public void setUsage(String usage)
Parameter
Parameter
class uses the string "<value>"
as the default usage string.
setUsage
in class Parameter<T>
usage
- usage stringpublic String getUsage()
Parameter
getUsage
in class Parameter<T>
Parameter.setUsage(java.lang.String)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |