com.larvalabs.starfish.algorithm.parameter
Class ParameterType

java.lang.Object
  extended bycom.larvalabs.starfish.algorithm.parameter.ParameterType
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
DoubleType, FileType, FloatType, IntegerType, LongType, MultiSelectorType, SelectorType, StringType

public abstract class ParameterType
extends java.lang.Object
implements java.io.Serializable

Base class for parameter types.

See Also:
Serialized Form

Constructor Summary
ParameterType(java.lang.String parameterName, java.lang.String description, boolean required, java.lang.Object defaultValue)
           
 
Method Summary
 java.lang.Object createValue(java.lang.String input)
           
 java.lang.String formatValue(java.lang.Object value)
          By default, this just calls toString() on the value.
 java.lang.Object getDefaultValue()
           
 java.lang.String getDescription()
           
 java.lang.String getName()
           
 boolean isRequired()
           
 void setDefaultValue(java.lang.Object defaultValue)
           
 void setDescription(java.lang.String description)
           
 void setName(java.lang.String name)
           
 void setRequired(boolean required)
           
 java.lang.String toString()
           
abstract  java.lang.Object validate(java.lang.String input)
          Input is guaranteed not to be null, this is validated ahead of time.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ParameterType

public ParameterType(java.lang.String parameterName,
                     java.lang.String description,
                     boolean required,
                     java.lang.Object defaultValue)
Method Detail

validate

public abstract java.lang.Object validate(java.lang.String input)
                                   throws ParameterValidationException
Input is guaranteed not to be null, this is validated ahead of time.

Parameters:
input - the string input for the parameter
Returns:
the result of the validation (input may be transformed).
Throws:
ParameterValidationException - if the input was not accepted, with explanation.

createValue

public final java.lang.Object createValue(java.lang.String input)
                                   throws ParameterValidationException
Throws:
ParameterValidationException

isRequired

public boolean isRequired()

setRequired

public void setRequired(boolean required)

getName

public java.lang.String getName()

setName

public void setName(java.lang.String name)

getDescription

public java.lang.String getDescription()

setDescription

public void setDescription(java.lang.String description)

getDefaultValue

public java.lang.Object getDefaultValue()

setDefaultValue

public void setDefaultValue(java.lang.Object defaultValue)

toString

public java.lang.String toString()

formatValue

public java.lang.String formatValue(java.lang.Object value)
By default, this just calls toString() on the value. Override this to provide custom formatting.

Parameters:
value - will always be a valid value for this parameter type.
Returns:
the formatted result.