Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## de.jstacs.parameters
Class SimpleParameter

    java.lang.Object
      de.jstacs.parameters.Parameter
          de.jstacs.parameters.SimpleParameter

All Implemented Interfaces:
  GalaxyConvertible, Rangeable, Storable, Cloneable

    public class SimpleParameter

extends Parameter
implements Rangeable, GalaxyConvertible

Class for a "simple" parameter. Simple parameters are those of the primitive types and single `String`s.

Author:
  Jan Grau

Nested Class Summary
`static class` | `SimpleParameter.DatatypeNotValidException` Class for an `Exception` that can be thrown if the provided `int`-value that represents a data type is not one of the values defined in `DataType`.
`static class` | `SimpleParameter.IllegalValueException` This exception is thrown if a parameter is not valid.

Field Summary
`protected String` | `comment` A comment on the parameter
`protected DataType` | `datatype` The data type of the parameter value
`protected Object` | `defaultValue` The default value of the parameter
`protected String` | `name` The name of the parameter
`protected boolean` | `required` Determines if the parameter is required
`protected ParameterValidator` | `validator` The validator for the parameter values
`protected Object` | `value` The current value of the parameter

Fields inherited from class de.jstacs.parameters.Parameter
`neededReference, neededReferenceId, parent`

Constructor Summary
`SimpleParameter(DataType datatype, String name, String comment, boolean required)` Constructor for a `SimpleParameter` without `ParameterValidator`.
`SimpleParameter(DataType datatype, String name, String comment, boolean required, Object defaultVal)` Constructor for a `SimpleParameter` without `ParameterValidator` but with a default value.
`SimpleParameter(DataType datatype, String name, String comment, boolean required, ParameterValidator validator)` Constructor for a `SimpleParameter` with a `ParameterValidator`.
`SimpleParameter(DataType datatype, String name, String comment, boolean required, ParameterValidator validator, Object defaultVal)` Constructor for a `SimpleParameter` with validator and default value.
`SimpleParameter(StringBuffer representation)` The standard constructor for the interface `Storable`.

Method Summary
`boolean` | `checkValue(Object value)` Checks the value for correctness, e.g. for numerical parameters this might be checking if the value is within specified bounds.
`SimpleParameter` | `clone()`
`boolean` | `equals(Object o2)`
`void` | `fromGalaxy(String namePrefix, StringBuffer command)` Parses the contents of `command` in the format defined by `configBuffer` of `GalaxyConvertible.toGalaxy(String, String, int, StringBuffer, StringBuffer)` and sets the values of the `Parameter` or `ParameterSet` accordingly.
`protected void` | `fromXML(StringBuffer representation)` Parses a `Parameter` from a XML representation as returned by `Parameter.toXML()`.
`String` | `getComment()` Returns a comment on this `Parameter` that tells something about useful values, domains, usage of this parameter, etc.
`DataType` | `getDatatype()` Returns the data type of the `Parameter`.
`String` | `getErrorMessage()` If a value could not be set successfully this method returns the corresponding error message.
`String` | `getName()` Returns the name of the `Parameter`.
`Parameter` | `getRangedInstance()` Returns an instance of `RangeIterator` that has the same properties as the current instance, but accepts a range or list of values.
`ParameterValidator` | `getValidator()` Returns the `ParameterValidator` used in this `SimpleParameter`.
`Object` | `getValue()` Returns the current value of this `Parameter`.
`boolean` | `hasDefaultOrIsSet()` Returns `true` if the parameter either has a default value or the value was set by the user, `false` otherwise.
`boolean` | `isAtomic()` Returns `true` if the parameter is of an atomic data type, `false` otherwise.
`boolean` | `isRangeable()` Returns `true` if the parameters can be varied over a range of values.
`boolean` | `isRequired()` Returns `true` if the `Parameter` is required, `false` otherwise.
`boolean` | `isSet()` Returns `true` if the parameter was set by the user, `false` otherwise.
`void` | `reset()` Resets the parameter and its contents to the default values or `null` if no defaults are given.
`void` | `setDefault(Object defaultValue)` Sets the default value of the `Parameter` to `defaultValue`.
`void` | `setRangeable(boolean rangeable)` Sets the value returned by `isRangeable()` to `rangeable`.
`void` | `setValidator(ParameterValidator validator)` Sets a new `ParameterValidator` for this `SimpleParameter`.
`void` | `setValue(Object value2)` Sets the value of this `Parameter` to `value`.
`void` | `simplify()` Simplifies the `Parameter` and its contents to the relevant information.
`void` | `toGalaxy(String namePrefix, String configPrefix, int depth, StringBuffer descBuffer, StringBuffer configBuffer)` Creates an Galaxy XML-representation of the parameters and appends it to `descBuffer` and variable configuration and appends it to `configBuffer`.
`String` | `toString()`
`StringBuffer` | `toXML()` This method returns an XML representation as `StringBuffer` of an instance of the implementing class.

Methods inherited from class de.jstacs.parameters.Parameter
`getId, getNeededReference, getNeededReferenceId, getParent, setNeededReference, setParent`

Methods inherited from class java.lang.Object
`finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### datatype

    protected DataType datatype

  The data type of the parameter value

### name

    protected String name

  The name of the parameter

### comment

    protected String comment

  A comment on the parameter

### required

    protected boolean required

  Determines if the parameter is required

### value

    protected Object value

  The current value of the parameter

### defaultValue

    protected Object defaultValue

  The default value of the parameter

### validator

    protected ParameterValidator validator

  The validator for the parameter values

Constructor Detail

### SimpleParameter

    public SimpleParameter(StringBuffer representation)
                    throws NonParsableException

  The standard constructor for the interface `Storable`. Constructs a `SimpleParameter` out of an XML representation.

  Parameters:
    `representation` - the XML representation as `StringBuffer`
  Throws:
    `NonParsableException` - if the `SimpleParameter` could not be restored from the `StringBuffer` `representation`

### SimpleParameter

    public SimpleParameter(DataType datatype,
                           String name,
                           String comment,
                           boolean required)
                    throws SimpleParameter.DatatypeNotValidException

  Constructor for a `SimpleParameter` without `ParameterValidator`.

  Parameters:
    `datatype` - the data type of the parameter value
    `name` - the name of the parameter
    `comment` - a comment on the parameter that tells the user some details about it
    `required` - determines if the parameter is required
  Throws:
    `SimpleParameter.DatatypeNotValidException` - if `datatype` is not one of the allowed `DataType`s

### SimpleParameter

    public SimpleParameter(DataType datatype,
                           String name,
                           String comment,
                           boolean required,
                           Object defaultVal)
                    throws ParameterException

  Constructor for a `SimpleParameter` without `ParameterValidator` but with a default value.

  Parameters:
    `datatype` - the data type of the parameter value
    `name` - the name of the parameter
    `comment` - a comment on the parameter that tells the user some details about it
    `required` - determines if the parameter is required
    `defaultVal` - the default value
  Throws:
    `ParameterException` - if either the default value is not a valid value with respect to `datatype` or `datatype` is not in the values allowed for a `SimpleParameter`

### SimpleParameter

    public SimpleParameter(DataType datatype,
                           String name,
                           String comment,
                           boolean required,
                           ParameterValidator validator)
                    throws SimpleParameter.DatatypeNotValidException

  Constructor for a `SimpleParameter` with a `ParameterValidator`.

  Parameters:
    `datatype` - the data type of the parameter value
    `name` - the name of the parameter
    `comment` - a comment on the parameter that tells the user some details about it
    `required` - determines if the parameter is required
    `validator` - the validator for the parameter values
  Throws:
    `SimpleParameter.DatatypeNotValidException` - if `datatype` is not in the values allowed for a `SimpleParameter`

### SimpleParameter

    public SimpleParameter(DataType datatype,
                           String name,
                           String comment,
                           boolean required,
                           ParameterValidator validator,
                           Object defaultVal)
                    throws ParameterException

  Constructor for a `SimpleParameter` with validator and default value.

  Parameters:
    `datatype` - the data type of the parameter value
    `name` - the name of the parameter
    `comment` - a comment on the parameter that tells the user some details about it
    `required` - determines if the parameter is required
    `validator` - the validator for the parameter values
    `defaultVal` - the default value
  Throws:
    `ParameterException` - if either the default value is not a valid value with respect to `datatype` or `datatype` is not in the values allowed for a `SimpleParameter`

Method Detail

### clone

    public SimpleParameter clone()
                          throws CloneNotSupportedException

  Overrides:
    `clone` in class `Parameter`
  Throws:
    `CloneNotSupportedException`

### hasDefaultOrIsSet

    public boolean hasDefaultOrIsSet()

  Description copied from class: `Parameter`
  Returns `true` if the parameter either has a default value or the value was set by the user, `false` otherwise.

  Specified by:
    `hasDefaultOrIsSet` in class `Parameter`
  Returns:
    `true` if value has a default value or was set, `false` otherwise

### isSet

    public boolean isSet()

  Description copied from class: `Parameter`
  Returns `true` if the parameter was set by the user, `false` otherwise.

  Specified by:
    `isSet` in class `Parameter`
  Returns:
    `true` if the parameter was set, `false` otherwise

### isRangeable

    public boolean isRangeable()

  Description copied from interface: `Rangeable`
  Returns `true` if the parameters can be varied over a range of values.

  Specified by:
    `isRangeable` in interface `Rangeable`
  Returns:
    `true` if the parameter can be varied, `false` otherwise

### setRangeable

    public void setRangeable(boolean rangeable)

  Sets the value returned by `isRangeable()` to `rangeable`.

  Parameters:
    `rangeable` - the new value that determines if this `SimpleParameter` is rangeable

### getRangedInstance

    public Parameter getRangedInstance()
                                throws Exception

  Description copied from interface: `Rangeable`
  Returns an instance of `RangeIterator` that has the same properties as the current instance, but accepts a range or list of values. These values can be obtained by the methods of `RangeIterator`.

  Specified by:
    `getRangedInstance` in interface `Rangeable`
  Returns:
    an instance with the same properties as the current instance
  Throws:
    `Exception` - is thrown if `Rangeable.isRangeable()` returns `false` or the ranged instance could not be created for some other reason

### isAtomic

    public boolean isAtomic()

  Description copied from class: `Parameter`
  Returns `true` if the parameter is of an atomic data type, `false` otherwise.

  Specified by:
    `isAtomic` in class `Parameter`
  Returns:
    `true` if the parameter is atomic, `false` otherwise

### getName

    public String getName()

  Description copied from class: `Parameter`
  Returns the name of the `Parameter`.

  Specified by:
    `getName` in class `Parameter`
  Returns:
    the name of the `Parameter`

### getDatatype

    public DataType getDatatype()

  Description copied from class: `Parameter`
  Returns the data type of the `Parameter`.

  Specified by:
    `getDatatype` in class `Parameter`
  Returns:
    the data type of the `Parameter`

### getComment

    public String getComment()

  Description copied from class: `Parameter`
  Returns a comment on this `Parameter` that tells something about useful values, domains, usage of this parameter, etc.

  Specified by:
    `getComment` in class `Parameter`
  Returns:
    the comment

### isRequired

    public boolean isRequired()

  Description copied from class: `Parameter`
  Returns `true` if the `Parameter` is required, `false` otherwise.

  Specified by:
    `isRequired` in class `Parameter`
  Returns:
    `true` if the `Parameter` is required, `false` otherwise

### checkValue

    public boolean checkValue(Object value)

  Description copied from class: `Parameter`
  Checks the value for correctness, e.g. for numerical parameters this might be checking if the value is within specified bounds.

  Specified by:
    `checkValue` in class `Parameter`
  Parameters:
    `value` - the value to be checked
  Returns:
    `true` if the value is valid, `false` otherwise

### getErrorMessage

    public String getErrorMessage()

  Description copied from class: `Parameter`
  If a value could not be set successfully this method returns the corresponding error message.

  Specified by:
    `getErrorMessage` in class `Parameter`
  Returns:
    an error message if a value could not be set successfully

### setDefault

    public void setDefault(Object defaultValue)
                    throws SimpleParameter.IllegalValueException

  Description copied from class: `Parameter`
  Sets the default value of the `Parameter` to `defaultValue`.

  Specified by:
    `setDefault` in class `Parameter`
  Parameters:
    `defaultValue` - the default value
  Throws:
    `SimpleParameter.IllegalValueException`

### simplify

    public void simplify()

  Description copied from class: `Parameter`
  Simplifies the `Parameter` and its contents to the relevant information. This could be e.g. to reset the contents of those values of a `CollectionParameter` that are not selected.

  Specified by:
    `simplify` in class `Parameter`

### reset

    public void reset()

  Description copied from class: `Parameter`
  Resets the parameter and its contents to the default values or `null` if no defaults are given.

  Specified by:
    `reset` in class `Parameter`

### setValue

    public void setValue(Object value2)
                  throws SimpleParameter.IllegalValueException

  Description copied from class: `Parameter`
  Sets the value of this `Parameter` to `value`.

  Specified by:
    `setValue` in class `Parameter`
  Parameters:
    `value2` - the new value of the `Parameter`
  Throws:
    `SimpleParameter.IllegalValueException` - if the specified value is not valid for this `Parameter`

### getValue

    public Object getValue()

  Description copied from class: `Parameter`
  Returns the current value of this `Parameter`.

  Specified by:
    `getValue` in class `Parameter`
  Returns:
    the current value of the `Parameter`

### toXML

    public StringBuffer toXML()

  Description copied from interface: `Storable`
  This method returns an XML representation as `StringBuffer` of an instance of the implementing class.

  Specified by:
    `toXML` in interface `Storable`
  Overrides:
    `toXML` in class `Parameter`
  Returns:
    the XML representation

### fromXML

    protected void fromXML(StringBuffer representation)
                    throws NonParsableException

  Description copied from class: `Parameter`
  Parses a `Parameter` from a XML representation as returned by `Parameter.toXML()`.

  Overrides:
    `fromXML` in class `Parameter`
  Parameters:
    `representation` - the XML representation as `StringBuffer`
  Throws:
    `NonParsableException` - if the XML code could not be parsed
  See Also:
    `Parameter.toXML()`

### equals

    public boolean equals(Object o2)

  Overrides:
    `equals` in class `Object`

### getValidator

    public ParameterValidator getValidator()

  Returns the `ParameterValidator` used in this `SimpleParameter`. This may be `null`.

  Returns:
    the validator used in this `SimpleParameter`

### setValidator

    public void setValidator(ParameterValidator validator)

  Sets a new `ParameterValidator` for this `SimpleParameter`.

  Parameters:
    `validator` - the new parameter validator

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`

### toGalaxy

    public void toGalaxy(String namePrefix,
                         String configPrefix,
                         int depth,
                         StringBuffer descBuffer,
                         StringBuffer configBuffer)
                  throws Exception

  Description copied from interface: `GalaxyConvertible`
  Creates an Galaxy XML-representation of the parameters and appends it to `descBuffer` and variable configuration and appends it to `configBuffer`. The variable configuation is also used to parse user-supplied values returned by Galaxy.

  Specified by:
    `toGalaxy` in interface `GalaxyConvertible`
  Parameters:
    `namePrefix` - the prefix of the variable name used in Galaxy
    `configPrefix` - the prefix for conditionals
    `depth` - the depth in the parameter hierarchy, used for graphical representation of nesting
    `descBuffer` - the buffer for the parameter description
    `configBuffer` - the buffer for the configuration line
  Throws:
    `Exception` - if the conversion fails

### fromGalaxy

    public void fromGalaxy(String namePrefix,
                           StringBuffer command)
                    throws Exception

  Description copied from interface: `GalaxyConvertible`
  Parses the contents of `command` in the format defined by `configBuffer` of `GalaxyConvertible.toGalaxy(String, String, int, StringBuffer, StringBuffer)` and sets the values of the `Parameter` or `ParameterSet` accordingly.

  Specified by:
    `fromGalaxy` in interface `GalaxyConvertible`
  Parameters:
    `namePrefix` - the prefix of the variable name
    `command` - the command string
  Throws:
    `Exception` - if the command string could not be parsed

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD