uk.ac.starlink.ttools.task
Class StringMultiParameter

java.lang.Object
  extended by uk.ac.starlink.task.Parameter<String[]>
      extended by uk.ac.starlink.ttools.task.StringMultiParameter
All Implemented Interfaces:
MultiParameter

public class StringMultiParameter
extends Parameter<String[]>
implements MultiParameter

Convenience parameter subclass for getting a sequence of string values.

Since:
13 Oct 2008
Author:
Mark Taylor

Field Summary
 
Fields inherited from class uk.ac.starlink.task.Parameter
BY_NAME
 
Constructor Summary
StringMultiParameter(String name, char valueSep)
          Constructor.
 
Method Summary
 char getValueSeparator()
          Returns a character which is to be used as the separator between values found in adjacent occurrences of the parameter in the execution environment.
 String[] stringsValue(Environment env)
          Returns the values of this parameter as an array.
 String[] 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, objectToString, 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

StringMultiParameter

public StringMultiParameter(String name,
                            char valueSep)
Constructor.

Parameters:
name - parameter name
valueSep - value separator character
Method Detail

getValueSeparator

public char getValueSeparator()
Description copied from interface: MultiParameter
Returns a character which is to be used as the separator between values found in adjacent occurrences of the parameter in the execution environment.

Specified by:
getValueSeparator in interface MultiParameter

stringsValue

public String[] stringsValue(Environment env)
                      throws TaskException
Returns the values of this parameter as an array. If the value is null, an empty array is returned.

Parameters:
env - execution environment
Returns:
array of individual values
Throws:
TaskException

stringToObject

public String[] stringToObject(Environment env,
                               String stringVal)
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<String[]>
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


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