Package uk.ac.starlink.ttools.plottask
Class NamedObjectParameter<T>
java.lang.Object
uk.ac.starlink.task.Parameter<T>
uk.ac.starlink.ttools.plottask.NamedObjectParameter<T>
- Direct Known Subclasses:
ColorParameter
,DashParameter
public abstract class NamedObjectParameter<T>
extends uk.ac.starlink.task.Parameter<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.- Since:
- 14 Aug 2008
- Author:
- Mark Taylor
-
Field Summary
Fields inherited from class uk.ac.starlink.task.Parameter
BY_NAME
-
Constructor Summary
ConstructorsConstructorDescriptionNamedObjectParameter
(String name, Class<T> clazz) Constructs a new parameter with no named options. -
Method Summary
Modifier and TypeMethodDescriptionvoid
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.Returns a formatted XML string giving an unordered list of the options for this parameter.T[]
Returns the option objects for all the named options known for this parameter.getUsage()
void
setDefaultOption
(T option) Sets the default value of this parameter as an option value object.void
stringToObject
(uk.ac.starlink.task.Environment env, String sval) 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
-
Constructor Details
-
NamedObjectParameter
Constructs a new parameter with no named options.- Parameters:
name
- parameter name
-
-
Method Details
-
addOption
Adds an option with an associated name. This name does not need to betoString(option)
.- Parameters:
name
- option aliasoption
- option value object
-
stringToObject
public T stringToObject(uk.ac.starlink.task.Environment env, String sval) throws uk.ac.starlink.task.TaskException - Specified by:
stringToObject
in classuk.ac.starlink.task.Parameter<T>
- Throws:
uk.ac.starlink.task.TaskException
-
setDefaultOption
Sets the default value of this parameter as an option value object.option
must be either one of the values added usingaddOption(java.lang.String, T)
ortoString(java.lang.Object)
must be able to translate it. Or it could be null.- Parameters:
option
- new default value as an object
-
toString
Translates a possible option value of this parameter into a string which represents it as a string value.- Parameters:
option
- object value- Returns:
- corresponding string
-
fromString
Translates a string value for this parameter into the object value which it represents. Must return a suitable object value for this parameter, or throw an unchecked exception.The implementation must be such that
fromString(toString(o)).equals(o)
.- Parameters:
name
- option name- Returns:
- corresponding option value
-
getOptionList
Returns a formatted XML string giving an unordered list of the options for this parameter. Suitable for insertion into a parameter description. Not enclosed in a <p> element.- Returns:
- option list XML string
-
getNames
Returns the names of all the named options known for this parameter.- Returns:
- name list
-
getOptions
Returns the option objects for all the named options known for this parameter.- Returns:
- object list
-
setUsage
- Overrides:
setUsage
in classuk.ac.starlink.task.Parameter<T>
-
getUsage
- Overrides:
getUsage
in classuk.ac.starlink.task.Parameter<T>
-