Class ObjectFactoryParameter<T>

java.lang.Object
uk.ac.starlink.task.Parameter<T>
uk.ac.starlink.task.ObjectFactoryParameter<T>

public class ObjectFactoryParameter<T> extends Parameter<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
  • Constructor Details

    • ObjectFactoryParameter

      public ObjectFactoryParameter(String name, uk.ac.starlink.util.ObjectFactory<T> factory)
      Constructor.
      Parameters:
      name - parameter name
      factory - object factory
  • Method Details

    • getObjectFactory

      public uk.ac.starlink.util.ObjectFactory<T> getObjectFactory()
      Returns the object factory used by this parameter.
      Returns:
      object factory
    • stringToObject

      public T stringToObject(Environment env, String sval) throws ParameterValueException
      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
      sval - non-null, non-empty string value
      Returns:
      typed value
      Throws:
      ParameterValueException
    • getUsage

      public String getUsage()
      Description copied from class: Parameter
      Returns the usage string for this parameter.
      Overrides:
      getUsage in class Parameter<T>
      Returns:
      usage string
      See Also: