jigcell.compare.objective
Class BooleanRelationalObjective

java.lang.Object
  extended by javax.swing.TransferHandler
      extended by jigcell.compare.impl.Transferer
          extended by jigcell.compare.impl.DataSource
              extended by jigcell.compare.data.DataGenerator
                  extended by jigcell.compare.data.EditableDataGenerator
                      extended by jigcell.compare.data.ProgrammableDataGenerator
                          extended by jigcell.compare.objective.Objective
                              extended by jigcell.compare.objective.BooleanRelationalObjective
All Implemented Interfaces:
java.awt.datatransfer.Transferable, java.beans.PropertyChangeListener, java.io.Serializable, java.lang.Cloneable, java.util.EventListener, IDataGenerator, IDataSource, IEditableDataGenerator, IProgrammableDataGenerator, IReadableDataSource, IWriteableDataSource, IObjective, IRelationalObjective

public class BooleanRelationalObjective
extends Objective
implements IRelationalObjective

A generator whose function is the result of a boolean relation.

This code is licensed under the DARPA BioCOMP Open Source License. See LICENSE for more details.

Author:
Nicholas Allen
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class jigcell.compare.data.EditableDataGenerator
EditableDataGenerator.EditableDataGeneratorDelegate
 
Nested classes/interfaces inherited from interface jigcell.compare.IDataSource
IDataSource.Option
 
Field Summary
protected static IEditableDataElement FALSE
          False result
protected static java.lang.String NAME_GENERATOR
          Display name of this generator
protected static IEditableDataElement TRUE
          True result
 
Fields inherited from class jigcell.compare.objective.Objective
ERROR, OPTION_DATA, OPTION_FUNCTION
 
Fields inherited from class jigcell.compare.data.ProgrammableDataGenerator
allowDescriptionQuery, callStack, listenerList
 
Fields inherited from class jigcell.compare.data.DataGenerator
COMPARATOR_NAME, DESCRIPTION_READ, SEPARATOR_ESCAPE, SPECIAL_CHARS
 
Fields inherited from class jigcell.compare.impl.DataSource
OPTIONS_LOCK, SEPARATOR_PAIR, SEPARATOR_PART, SEPARATORS
 
Fields inherited from class jigcell.compare.impl.Transferer
CSV_FOOTER, CSV_LINEPOSTPEND, CSV_LINEPREPEND, CSV_LINESEPARATOR, HTML_FOOTER, HTML_HEADPOSTPEND, HTML_HEADPREPEND, HTML_HEADSEPARATOR, HTML_LINEPOSTPEND, HTML_LINEPREPEND, HTML_LINESEPARATOR
 
Fields inherited from class javax.swing.TransferHandler
COPY, COPY_OR_MOVE, MOVE, NONE
 
Fields inherited from interface jigcell.compare.objective.IRelationalObjective
ATTRIBUTE_RELATION, OPTION_RELATIONS, RELATION_EQUALITY, RELATION_GREATERTHAN, RELATION_GREATERTHANEQUAL, RELATION_INEQUALITY, RELATION_LESSTHAN, RELATION_LESSTHANEQUAL
 
Fields inherited from interface jigcell.compare.IDataGenerator
ATTRIBUTE_COMMENT, ATTRIBUTE_GUID, PROPERTY_GENERATOR_EDIT, RESOURCE_GENERATORS
 
Fields inherited from interface jigcell.compare.IReadableDataSource
OPTION_READDESCRIPTION, OPTION_READICON
 
Fields inherited from interface jigcell.compare.IDataSource
OPTION_NAME
 
Fields inherited from interface jigcell.compare.objective.IObjective
OPTION_OBJECTIVE, PROPERTY_OBJECTIVE_EDIT, RESOURCE_OBJECTIVES
 
Fields inherited from interface jigcell.compare.IProgrammableDataGenerator
METHOD_GENERATE, OPTION_COMPARE, OPTION_INPUTTYPECHECKER, OPTION_OUTPUTTYPECHECKER
 
Fields inherited from interface jigcell.compare.IWriteableDataSource
OPTION_WRITEDESCRIPTION, OPTION_WRITEICON
 
Constructor Summary
BooleanRelationalObjective()
          Creates a new generator based upon a boolean relation.
 
Method Summary
protected  boolean checkScalarTypes(IDataElement.Type type1, IDataElement.Type type2)
          Ensures that both inputs are scalar types.
protected  IDataElement evaluate(IDataElement input)
          Computes the values of this generator.
protected  IDataElement evaluateEquality(IDataElement e1, IDataElement e2)
          Evaluates and returns the associated element for equality.
protected  IDataElement evaluateGreaterThan(IDataElement e1, IDataElement e2)
          Evaluates and returns the associated element for greater than.
protected  IDataElement evaluateGreaterThanEqual(IDataElement e1, IDataElement e2)
          Evaluates and returns the associated element for greater than or equal.
protected  IDataElement evaluateInequality(IDataElement e1, IDataElement e2)
          Evaluates and returns the associated element for inequality.
protected  IDataElement evaluateLessThan(IDataElement e1, IDataElement e2)
          Evaluates and returns the associated element for greater than or equal.
protected  IDataElement evaluateLessThanEqual(IDataElement e1, IDataElement e2)
          Evaluates and returns the associated element for greater than or equal.
static java.lang.Object getCustomizableInstances()
          Generates an instance.
 java.lang.String getRelation()
          The relation.
 java.util.List getRelations()
          The valid relations
 void setRelation(java.lang.String relation)
          Sets the suggested relation.
 
Methods inherited from class jigcell.compare.objective.Objective
evaluate, getData, getFunction, getObjectiveForGenerator, setData, setFunction
 
Methods inherited from class jigcell.compare.data.ProgrammableDataGenerator
addEvaluationListener, clear, copy, createCustomizer, fireEvaluationError, fireEvaluationError, fireEvaluationStart, fireEvaluationStop, getAllowDescriptionQuery, getCallStack, getElement, getElement, getEvaluationLock, getInputTypeChecker, getInterface, getOutputTypeChecker, initializeSource, isCached, peekElement, peekInterface, propertyChange, removeEvaluationListener, setAllowDescriptionQuery, setInputTypeChecker, setInterfaceClass, setOutputTypeChecker, updateInterface
 
Methods inherited from class jigcell.compare.data.EditableDataGenerator
getPredictedCompatibility, getPredictedCompatibility, isSet, setAttribute, setComment, setElement, setElement, setOption, setState, write
 
Methods inherited from class jigcell.compare.data.DataGenerator
clone, compareByName, copy, generateGUID, getAttribute, getComment, getCopiedFrom, getName, getPredictedContents, getTransferData, isCopy, isCopyRelated, read, setCopyName, setName, toString
 
Methods inherited from class jigcell.compare.impl.DataSource
addOption, addPropertyChangeListener, addPropertyChangeListener, configure, getOption, getOptions, getOptionType, getPropertyChangeListeners, getPropertyChangeListeners, getReadDescriptionOption, getReadIconOption, getState, getWriteDescriptionOption, getWriteIconOption, persistSource, removePropertyChangeListener, removePropertyChangeListener, setOptions, setOptionType, setReadDescriptionOption, setReadIconOption, setWriteDescriptionOption, setWriteIconOption, unpersistSource
 
Methods inherited from class jigcell.compare.impl.Transferer
addExtension, addFlavor, createCSVTable, createFormattedTable, createHTMLTable, getExceptionRecorder, getExpectedClasses, getExpectedClasses, getExpectedClasses, getFlavors, getFlavors, getPreferredExtensions, getPreferredExtensions, getTransferClass, getTransferDataFlavors, getTransferFlavor, isDataFlavorSupported, transfer
 
Methods inherited from class javax.swing.TransferHandler
canImport, createTransferable, exportAsDrag, exportDone, exportToClipboard, getCopyAction, getCutAction, getPasteAction, getSourceActions, getVisualRepresentation, importData
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface jigcell.compare.IDataGenerator
copy, getAttribute, getComment, getCopiedFrom, getElement, isCached, isCopy, isCopyRelated, setAttribute
 
Methods inherited from interface jigcell.compare.IReadableDataSource
getPredictedContents, getReadDescriptionOption, getReadIconOption, read, setReadDescriptionOption, setReadIconOption
 
Methods inherited from interface jigcell.compare.IDataSource
addOption, clone, configure, getName, getOption, getState, setOption, setState
 
Methods inherited from interface java.awt.datatransfer.Transferable
getTransferData, getTransferDataFlavors, isDataFlavorSupported
 
Methods inherited from interface jigcell.compare.objective.IObjective
clear
 
Methods inherited from interface jigcell.compare.IProgrammableDataGenerator
addEvaluationListener, getCallStack, getElement, getEvaluationLock, getInputTypeChecker, getInterface, getOutputTypeChecker, peekElement, removeEvaluationListener
 
Methods inherited from interface jigcell.compare.IEditableDataGenerator
setComment, setCopyName, setElement, setName
 
Methods inherited from interface jigcell.compare.IWriteableDataSource
getPredictedCompatibility, getPredictedCompatibility, getWriteDescriptionOption, getWriteIconOption, setWriteDescriptionOption, setWriteIconOption, write
 

Field Detail

FALSE

protected static final IEditableDataElement FALSE
False result


TRUE

protected static final IEditableDataElement TRUE
True result


NAME_GENERATOR

protected static final java.lang.String NAME_GENERATOR
Display name of this generator

See Also:
Constant Field Values
Constructor Detail

BooleanRelationalObjective

public BooleanRelationalObjective()
Creates a new generator based upon a boolean relation.

Method Detail

getCustomizableInstances

public static java.lang.Object getCustomizableInstances()
Generates an instance.


getRelation

public java.lang.String getRelation()
The relation.

Specified by:
getRelation in interface IRelationalObjective

getRelations

public java.util.List getRelations()
The valid relations

Specified by:
getRelations in interface IRelationalObjective

setRelation

public void setRelation(java.lang.String relation)
Sets the suggested relation. Implementations should act on this reasonably.

Specified by:
setRelation in interface IRelationalObjective
Parameters:
relation - Relation

checkScalarTypes

protected boolean checkScalarTypes(IDataElement.Type type1,
                                   IDataElement.Type type2)
Ensures that both inputs are scalar types.

Parameters:
type1 - Element type 1
type2 - Element type 2

evaluate

protected IDataElement evaluate(IDataElement input)
Computes the values of this generator.

Overrides:
evaluate in class Objective
Parameters:
input - List of the inputs provided to this generator

evaluateEquality

protected IDataElement evaluateEquality(IDataElement e1,
                                        IDataElement e2)
Evaluates and returns the associated element for equality.

Parameters:
e1 - Element 1
e2 - Element 2

evaluateGreaterThan

protected IDataElement evaluateGreaterThan(IDataElement e1,
                                           IDataElement e2)
Evaluates and returns the associated element for greater than.

Parameters:
e1 - Element 1
e2 - Element 2

evaluateGreaterThanEqual

protected IDataElement evaluateGreaterThanEqual(IDataElement e1,
                                                IDataElement e2)
Evaluates and returns the associated element for greater than or equal.

Parameters:
e1 - Element 1
e2 - Element 2

evaluateInequality

protected IDataElement evaluateInequality(IDataElement e1,
                                          IDataElement e2)
Evaluates and returns the associated element for inequality.

Parameters:
e1 - Element 1
e2 - Element 2

evaluateLessThan

protected IDataElement evaluateLessThan(IDataElement e1,
                                        IDataElement e2)
Evaluates and returns the associated element for greater than or equal.

Parameters:
e1 - Element 1
e2 - Element 2

evaluateLessThanEqual

protected IDataElement evaluateLessThanEqual(IDataElement e1,
                                             IDataElement e2)
Evaluates and returns the associated element for greater than or equal.

Parameters:
e1 - Element 1
e2 - Element 2