Package uk.ac.starlink.task
Class ObjectFactoryParameter<T>
java.lang.Object
uk.ac.starlink.task.Parameter<T>
uk.ac.starlink.task.ObjectFactoryParameter<T>
Parameter whose (user-supplied) string values correspond to nicknames
from an
ObjectFactory
. The Parameter.objectValue(uk.ac.starlink.task.Environment)
method returns
the corresponding object generated by the factory for that nickname.- Since:
- 22 Nov 2006
- Author:
- Mark Taylor
-
Field Summary
-
Constructor Summary
ConstructorsConstructorDescriptionObjectFactoryParameter
(String name, uk.ac.starlink.util.ObjectFactory<T> factory) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionuk.ac.starlink.util.ObjectFactory<T>
Returns the object factory used by this parameter.getUsage()
Returns the usage string for this parameter.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.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, setUsage, setValue, setValueFromObject, setValueFromString, stringValue, toArray, toString
-
Constructor Details
-
ObjectFactoryParameter
Constructor.- Parameters:
name
- parameter namefactory
- object factory
-
-
Method Details
-
getObjectFactory
Returns the object factory used by this parameter.- Returns:
- object factory
-
stringToObject
Description copied from class:Parameter
Takes a non-blank string, as supplied by the execution environment, and turns it into a typed value for this parameter. This method also performs validation, so if the string value is unacceptable in any way, a ParameterValueException should be thrown.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 thestringVal
as the classname of a suitable class with a no-arg constructor.- Specified by:
stringToObject
in classParameter<T>
- Parameters:
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- Returns:
- typed value
- Throws:
ParameterValueException
-
getUsage
Description copied from class:Parameter
Returns the usage string for this parameter.
-