uk.ac.starlink.ttools.plot2.task
Class ConfigParameter<T>

java.lang.Object
  extended by uk.ac.starlink.task.Parameter<T>
      extended by uk.ac.starlink.ttools.plot2.task.ConfigParameter<T>

public class ConfigParameter<T>
extends Parameter<T>

Typed parameter subclass intended to get the value for a ConfigKey.

Since:
1 Mark 2013
Author:
Mark Taylor

Field Summary
 
Fields inherited from class uk.ac.starlink.task.Parameter
BY_NAME
 
Constructor Summary
ConfigParameter(ConfigKey<T> key)
          Constructs an un-suffixed config parameter.
 
Method Summary
static
<T> ConfigParameter<T>
createSuffixedParameter(ConfigKey<T> key, String layerSuffix, boolean fullDetail)
          Returns a config parameter with a given suffix.
 String objectToString(Environment env, T objval)
          Takes a typed value of this parameter and formats it as a string which may be used for presentation to the user.
 T stringToObject(Environment env, String stringval)
          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, getUsage, getValueClass, isNullPermitted, objectValue, setDescription, setDescription, setName, setNullPermitted, setPosition, setPreferExplicit, setPrompt, setStringDefault, setUsage, 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

ConfigParameter

public ConfigParameter(ConfigKey<T> key)
Constructs an un-suffixed config parameter.

Parameters:
key - config key
Method Detail

stringToObject

public T stringToObject(Environment env,
                        String stringval)
                 throws TaskException
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 the stringVal as the classname of a suitable class with a no-arg constructor.

Specified by:
stringToObject in class Parameter<T>
Parameters:
env - execution environment; in most cases this is not required but for some purposes environment-specific characteristics may influence the result
stringval - non-null, non-empty string value
Returns:
typed value
Throws:
TaskException

objectToString

public String objectToString(Environment env,
                             T objval)
Description copied from class: Parameter
Takes a typed value of this parameter and formats it as a string which may be used for presentation to the user. Ideally, round-tripping between this method and stringToObject should be possible, but that is not in general required/guaranteed.

The default implementation uses the value's toString method, but subclasses can override this for smarter behaviour.

Overrides:
objectToString in class Parameter<T>
Parameters:
env - execution environment
objval - typed parameter value
Returns:
string value for presentation

createSuffixedParameter

public static <T> ConfigParameter<T> createSuffixedParameter(ConfigKey<T> key,
                                                             String layerSuffix,
                                                             boolean fullDetail)
Returns a config parameter with a given suffix. The name is construted from the key name followed by the suffix.

Parameters:
key - config key
layerSuffix - suffix part of name
fullDetail - if true, adds additional description
Returns:
new parameter


Copyright © 2015 Central Laboratory of the Research Councils. All Rights Reserved.