|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.jstacs.parameters.Parameter
de.jstacs.parameters.RangeParameter
public class RangeParameter
Class for a parameter wrapper that allows SimpleParameter
s to be set
to a set of values.
These values may be given either as a list of values separated by spaces, as
a range between a first and a last value with a given number of steps between
these values, or a single value. In the latter case a RangeParameter
works just like a plain SimpleParameter
. SimpleParameter
s
that are used to construct a RangeParameter
must be rangeable, i.e.
their method SimpleParameter.isRangeable()
must return
true
, or they will be rejected.
Nested Class Summary | |
---|---|
static class |
RangeParameter.RangeType
The possible types of defining ranges for a RangeParameter . |
static class |
RangeParameter.Scale
This enum defines possible scales, if RangeParameter.RangeType is
RangeParameter.RangeType.RANGE . |
Field Summary |
---|
Fields inherited from class de.jstacs.parameters.Parameter |
---|
neededReference, neededReferenceId, parent |
Constructor Summary | |
---|---|
RangeParameter(SimpleParameter par)
Constructs a RangeParameter from a SimpleParameter that
is rangeable. |
|
RangeParameter(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. |
RangeParameter |
clone()
|
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() . |
static CollectionParameter |
getCollectionOfScales()
Returns a CollectionParameter that allows the user to choose
between different scales. |
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 . |
Object |
getEndValue()
Returns the last value of a range of parameter values or null if no range was specified. |
String |
getErrorMessage()
If a value could not be set successfully this method returns the corresponding error message. |
String |
getList()
Returns a list of all parameter values as a String or
null if no parameter values have been set. |
String |
getName()
Returns the name of the Parameter . |
ParameterSet |
getNeededReference()
Returns a reference to a ParameterSet whose
ParameterSet.hasDefaultOrIsSet() -method depends on the value of
this Parameter . |
int |
getNumberOfNexts(int afterIndex)
Returns the number of calls of next() that can be done before
obtaining false . |
int |
getNumberOfValues()
Returns the number of values in a list or range of parameter values. |
String |
getScale()
Returns a description of the the scale of a range of parameter values. |
Object |
getStartValue()
Returns the start value of a range of parameter values or null if no range was specified. |
int |
getSteps()
Returns the number of steps of a range of parameter values or 0 if no range was specified. |
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 |
isRanged()
Returns true if this RangeIterator is ranging over a
set 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. |
boolean |
next()
Returns true if the next element still exists and can be
fetched using getValue() , false otherwise. |
void |
reset()
Resets the parameter and its contents to the default values or null if no defaults are given. |
void |
resetToFirst()
Resets the current value in the collection to the first value. |
void |
setDefault(Object defaultValue)
Sets the default value of the Parameter to
defaultValue . |
void |
setNeededReference(ParameterSet reference)
Sets an internal reference to a ParameterSet whose validity
depends on the value of this Parameter . |
void |
setShallBeRanged(RangeParameter.RangeType shallBeRanged)
Sets the type of this RangeParameter to one of
LIST, RANGE or NO . |
void |
setValue(Object value)
Sets the value of this Parameter to value . |
void |
setValues(Object startValue,
int steps,
Object endValue,
RangeParameter.Scale scale)
Sets the values of this RangeParameter as a range of values,
specified by a start value, a last value, a number of steps between these
values (without the last value) and a scale in that the values between
the first and the last value are chosen. |
void |
setValues(String values)
Sets a list of values from a String containing a space separated
list of values. |
void |
setValuesInLogScale(boolean log,
double radix,
Object startValue,
int steps,
Object endValue)
This method enables you to set a list of values in an easy manner. |
RangeParameter.RangeType |
shallBeRanged()
Returns one of LIST, RANGE or NO depending on
the input used to specify this RangeParameter . |
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 . |
StringBuffer |
toXML()
This method returns an XML representation as StringBuffer of an
instance of the implementing class. |
String |
valuesToString()
Returns a String representation of the set of values. |
Methods inherited from class de.jstacs.parameters.Parameter |
---|
getId, getNeededReferenceId, getParent, setParent |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public RangeParameter(SimpleParameter par) throws Exception
RangeParameter
from a SimpleParameter
that
is rangeable.
par
- the rangeable SimpleParameter
Exception
- if the SimpleParameter
is not rangeable, i.e. its
method SimpleParameter.isRangeable()
returns
false
public RangeParameter(StringBuffer representation) throws NonParsableException
Storable
.
Restores a RangeParameter
from its XML representation.
representation
- the XML representation as StringBuffer
NonParsableException
- if the StringBuffer
representation
could
not be parsedMethod Detail |
---|
public RangeParameter clone() throws CloneNotSupportedException
clone
in class Parameter
CloneNotSupportedException
public static CollectionParameter getCollectionOfScales() throws ParameterException
CollectionParameter
that allows the user to choose
between different scales.
CollectionParameter
ParameterException
- if the CollectionParameter
could, or if one of the
possible values of the CollectionParameter
was not
legalpublic String getName()
Parameter
Parameter
.
getName
in class Parameter
Parameter
public String getList()
String
or
null
if no parameter values have been set.
null
public Object getStartValue()
null
if no range was specified.
null
public Object getEndValue()
null
if no range was specified.
null
public int getSteps()
0
if no range was specified.
0
public String getScale()
RangeParameter.Scale
public DataType getDatatype()
Parameter
Parameter
.
getDatatype
in class Parameter
Parameter
public String getComment()
Parameter
Parameter
that tells something about
useful values, domains, usage of this parameter, etc.
getComment
in class Parameter
public boolean isRequired()
Parameter
true
if the Parameter
is required,
false
otherwise.
isRequired
in class Parameter
true
if the Parameter
is required,
false
otherwisepublic boolean checkValue(Object value)
Parameter
checkValue
in class Parameter
value
- the value to be checked
true
if the value is valid, false
otherwisepublic void setValue(Object value) throws SimpleParameter.IllegalValueException
Parameter
Parameter
to value
.
setValue
in class Parameter
value
- the new value of the Parameter
SimpleParameter.IllegalValueException
- if the specified value is not valid for this
Parameter
public void setValues(String values) throws SimpleParameter.IllegalValueException
String
containing a space separated
list of values. After this method has been called,
shallBeRanged()
returns RangeParameter.RangeType.LIST
.
values
- the space separated list of values
SimpleParameter.IllegalValueException
- if at least one of the values in the list is not suitable for
this RangeParameter
public void setValues(Object startValue, int steps, Object endValue, RangeParameter.Scale scale) throws SimpleParameter.IllegalValueException
RangeParameter
as a range of values,
specified by a start value, a last value, a number of steps between these
values (without the last value) and a scale in that the values between
the first and the last value are chosen. This range must be one of
LOGSCALE, INVERSELOGSCALE, LINSCALE, EXPSCALE,
LOGSCALE2, INVERSELOGSCALE2, LOGSCALE10
or
INVERSELOGSCALE10
.
startValue
- the first value of the rangesteps
- the number of steps between startValue
and
endValue
(exclusive)endValue
- the last value of the rangescale
- the RangeParameter.Scale
SimpleParameter.IllegalValueException
- if one of the values is not suitable for this
RangeParameter
, e.g. is out of a specified range of
allowed valuesRangeParameter.Scale
public void setValuesInLogScale(boolean log, double radix, Object startValue, int steps, Object endValue) throws SimpleParameter.IllegalValueException
[startValue,endValue]
in (inverse) logarithmic scale.
log
- if true
a logarithmic scale is used, otherwise
the inverse logarithmic scaleradix
- the radix for the scalestartValue
- the first value of the rangesteps
- the number of steps between startValue
and
endValue
(exclusive)endValue
- the last value of the range
SimpleParameter.IllegalValueException
- if some constraints are not fulfilledpublic Object getValue()
Parameter
Parameter
.
getValue
in class Parameter
Parameter
public boolean next() throws SimpleParameter.IllegalValueException
true
if the next element still exists and can be
fetched using getValue()
, false
otherwise.
next
in interface RangeIterator
true
if the next element exists and can be fetched,
false
otherwise
SimpleParameter.IllegalValueException
- if the next value to be fetched is not validsetValue(Object)
public int getNumberOfValues()
getNumberOfValues
in interface RangeIterator
public int getNumberOfNexts(int afterIndex)
next()
that can be done before
obtaining false
.
afterIndex
- the index after which next()
shall be called
next()
after
afterIndex
public RangeParameter.RangeType shallBeRanged()
LIST, RANGE
or NO
depending on
the input used to specify this RangeParameter
.
RangeParameter.RangeType
public void setShallBeRanged(RangeParameter.RangeType shallBeRanged) throws Exception
RangeParameter
to one of
LIST, RANGE
or NO
.
shallBeRanged
- the RangeParameter.RangeType
of this parameter
Exception
- if shallBeRanged
is none of the allowed valuesRangeParameter.RangeType
public boolean hasDefaultOrIsSet()
Parameter
true
if the parameter either has a default value or
the value was set by the user, false
otherwise.
hasDefaultOrIsSet
in class Parameter
true
if value has a default value or was set,
false
otherwisepublic boolean isSet()
Parameter
true
if the parameter was set by the user,
false
otherwise.
isSet
in class Parameter
true
if the parameter was set, false
otherwisepublic boolean isAtomic()
Parameter
true
if the parameter is of an atomic data type,
false
otherwise.
isAtomic
in class Parameter
true
if the parameter is atomic, false
otherwisepublic String getErrorMessage()
Parameter
getErrorMessage
in class Parameter
public StringBuffer toXML()
Storable
StringBuffer
of an
instance of the implementing class.
toXML
in interface Storable
toXML
in class Parameter
protected void fromXML(StringBuffer representation) throws NonParsableException
Parameter
Parameter
from a XML representation as returned by
Parameter.toXML()
.
fromXML
in class Parameter
representation
- the XML representation as StringBuffer
NonParsableException
- if the XML code could not be parsedParameter.toXML()
public void simplify()
Parameter
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.
simplify
in class Parameter
public void reset()
Parameter
null
if no defaults are given.
reset
in class Parameter
public void resetToFirst()
RangeIterator
resetToFirst
in interface RangeIterator
public void setDefault(Object defaultValue) throws Exception
Parameter
Parameter
to
defaultValue
.
setDefault
in class Parameter
defaultValue
- the default value
Exception
- if the default value is not an appropriate value for this
Parameter
public String valuesToString()
RangeIterator
String
representation of the set of values.
valuesToString
in interface RangeIterator
String
representationpublic boolean isRanged()
RangeIterator
true
if this RangeIterator
is ranging over a
set of values.
isRanged
in interface RangeIterator
true
if this RangeIterator
is ranging over a
set of values, false
otherwisepublic ParameterSet getNeededReference()
Parameter
ParameterSet
whose
ParameterSet.hasDefaultOrIsSet()
-method depends on the value of
this Parameter
. If no such ParameterSet
exists,
null
is returned.
getNeededReference
in class Parameter
ParameterSet
ParameterSet.hasDefaultOrIsSet()
public void setNeededReference(ParameterSet reference)
Parameter
ParameterSet
whose validity
depends on the value of this Parameter
.
setNeededReference
in class Parameter
reference
- to the ParameterSet
depending on the value of this
Parameter
public void toGalaxy(String namePrefix, String configPrefix, int depth, StringBuffer descBuffer, StringBuffer configBuffer) throws Exception
GalaxyConvertible
descBuffer
and variable configuration and appends it to configBuffer
. The variable configuation
is also used to parse user-supplied values returned by Galaxy.
toGalaxy
in interface GalaxyConvertible
namePrefix
- the prefix of the variable name used in GalaxyconfigPrefix
- the prefix for conditionalsdepth
- the depth in the parameter hierarchy, used for graphical representation of nestingdescBuffer
- the buffer for the parameter descriptionconfigBuffer
- the buffer for the configuration line
Exception
- if the conversion failspublic void fromGalaxy(String namePrefix, StringBuffer command) throws Exception
GalaxyConvertible
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.
fromGalaxy
in interface GalaxyConvertible
namePrefix
- the prefix of the variable namecommand
- the command string
Exception
- if the command string could not be parsed
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |