de.jstacs.results
Class Result

java.lang.Object
  extended by de.jstacs.AnnotatedEntity
      extended by de.jstacs.results.Result
All Implemented Interfaces:
Storable
Direct Known Subclasses:
AbstractScoreBasedClassifier.DoubleTableResult, DataSetResult, GalaxyAdaptor.FileResult, ImageResult, ListResult, SimpleResult, StorableResult

public abstract class Result
extends AnnotatedEntity

The abstract class for any result. Each result should be immutable. In analogy to the Parameter classes, the Result classes provide the possibility to return the results of a computation together with some annotation in a standardized way.

Author:
Jan Grau

Field Summary
 
Fields inherited from class de.jstacs.AnnotatedEntity
comment, datatype, name
 
Constructor Summary
protected Result(StringBuffer rep)
          The standard constructor for the interface Storable.
protected Result(String name, String comment, DataType datatype)
          The main constructor which takes the main information of a result.
 
Method Summary
static boolean checkDatatype(DataType datatype, Object value)
          This method provides the possibility to check the compliance of some result value with one of the pre-defined DataTypes before creating a new Result and possibly running into an Exception.
static Result createResult(String name, String comment, DataType datatype, Object value)
          Factory method to create a new Result.
 boolean isCastableResult(Result test)
          Returns true if the data type of the Result test can be casted to that of this instance and both have the same name and comment for the Result.
 boolean isComparableResult(Result test)
          Returns true if the Result test and the current object have the same data type, name and comment for the result.
 
Methods inherited from class de.jstacs.AnnotatedEntity
appendFurtherInfos, extractFurtherInfos, getComment, getDatatype, getName, getValue, getXMLTag, toXML
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Result

protected Result(String name,
                 String comment,
                 DataType datatype)
The main constructor which takes the main information of a result.

Parameters:
name - the name of the result
comment - the comment for the result
datatype - the data type of the result

Result

protected Result(StringBuffer rep)
          throws NonParsableException
The standard constructor for the interface Storable. Creates a new Result out of its XML representation.

Parameters:
rep - the XML representation as StringBuffer
Throws:
NonParsableException - if the XML representation is not parsable
See Also:
Storable
Method Detail

isComparableResult

public boolean isComparableResult(Result test)
Returns true if the Result test and the current object have the same data type, name and comment for the result.
The method does NOT answer whether the method AnnotatedEntity.getValue() returns an instance of Comparable.

Parameters:
test - the Result to be tested
Returns:
true if the Result test and the current object have the same data type, name and comment for the result

isCastableResult

public boolean isCastableResult(Result test)
Returns true if the data type of the Result test can be casted to that of this instance and both have the same name and comment for the Result.
The method does NOT answer whether the method AnnotatedEntity.getValue() returns an instance of Comparable.

Parameters:
test - the Result to be tested
Returns:
true if the Result test and the current object have a castable data type, name and comment for the result

checkDatatype

public static boolean checkDatatype(DataType datatype,
                                    Object value)
This method provides the possibility to check the compliance of some result value with one of the pre-defined DataTypes before creating a new Result and possibly running into an Exception.

Parameters:
datatype - the data type the value should comply to
value - the value
Returns:
if value can be stored in a Result of DataType datatype

createResult

public static Result createResult(String name,
                                  String comment,
                                  DataType datatype,
                                  Object value)
                           throws SimpleParameter.IllegalValueException
Factory method to create a new Result.

Parameters:
name - the name of the Result as chosen by the user
comment - the comment on the Result as chosen by the user
datatype - the data type of value
value - the value of the Result
Returns:
the new Result instance
Throws:
SimpleParameter.IllegalValueException - if datatype is DataType.HTML, DataType.LIST or another DataType not implemented, yet