jigcell.compare.transform
Class TransformContainer

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.transform.Transform
                              extended by jigcell.compare.transform.TransformContainer
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, ITransform, ITransformContainer
Direct Known Subclasses:
BoxTransformContainer

public abstract class TransformContainer
extends Transform
implements ITransformContainer

A collection of transforms that combine to compute a result.

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
 
Fields inherited from class jigcell.compare.transform.Transform
allowContextInsertion, allowContextRemoval, container, context
 
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.transform.ITransformContainer
OPTION_CONTAINEDTRANSFORMS
 
Fields inherited from interface jigcell.compare.transform.ITransform
OPTION_ANNOTATION, OPTION_COMPATIBLE, OPTION_NEXTSTATEMENT, OPTION_PREVIOUSSTATEMENT, OPTION_TRANSFORM, PROPERTY_TRANSFORM_EDIT, RESOURCE_TRANSFORMS
 
Fields inherited from interface jigcell.compare.IProgrammableDataGenerator
METHOD_GENERATE, OPTION_COMPARE, OPTION_INPUTTYPECHECKER, OPTION_OUTPUTTYPECHECKER
 
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.IWriteableDataSource
OPTION_WRITEDESCRIPTION, OPTION_WRITEICON
 
Constructor Summary
TransformContainer()
          Creates a new transform container.
 
Method Summary
protected  void copy(boolean shallow, IDataGenerator target)
          Copies state for this generator.
 ITransform getChildSource(ITransform child)
          The source for one of the transforms managed by this container.
 IDataGeneratorList getContainedTransforms()
          The transforms managed by this container.
 IDataGeneratorList getDependencies()
          The dependencies of this transform. Additionally, a transform is considered dependent on the previous, next, children, and parent transforms. This function may return any subset of dependencies with the same transitive closure as the full set. A null result may be used to indicate that no dependencies exist.
protected  void initializeSource()
          Performs any initialization work for the view that must be duplicated for each new instance. This method is called exactly once and only during object construction.
 boolean isReorderable()
          Whether the evaluation of this transform has no indirect dependencies.
 boolean isRunnable()
          Whether this transform can be executed.
 void propertyChange(java.beans.PropertyChangeEvent e)
           
 void setCompatibleTransforms(IDataGeneratorList transforms)
          Sets the transforms compatible with this statement.
 void setContainedTransforms(IDataGeneratorList containedTransforms)
          Sets the transforms held by this contained.
 void setEvaluationContext(ITransformContext context)
          Sets the runtime context for performing an evaluation.
 
Methods inherited from class jigcell.compare.transform.Transform
clear, evaluate, evaluate, flush, getAllowContextInsertion, getAllowContextRemoval, getAnnotation, getCompatibleTransforms, getContainer, getEvaluationContext, getNextStatement, getPreviousElement, getPreviousStatement, getSource, getTransformForGenerator, hasNextStatement, hasPreviousStatement, setAllowContextInsertion, setAllowContextRemoval, setAnnotation, setContainer, setNextStatement, setPreviousStatement
 
Methods inherited from class jigcell.compare.data.ProgrammableDataGenerator
addEvaluationListener, createCustomizer, fireEvaluationError, fireEvaluationError, fireEvaluationStart, fireEvaluationStop, getAllowDescriptionQuery, getCallStack, getElement, getElement, getEvaluationLock, getInputTypeChecker, getInterface, getOutputTypeChecker, isCached, peekElement, peekInterface, 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.transform.ITransformContainer
childClear, childFlush
 
Methods inherited from interface jigcell.compare.transform.ITransform
clear, flush, getAnnotation, getCompatibleTransforms, getContainer, getEvaluationContext, getNextStatement, getPreviousStatement, hasNextStatement, hasPreviousStatement, setContainer, setNextStatement, setPreviousStatement
 
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.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.IWriteableDataSource
getPredictedCompatibility, getPredictedCompatibility, getWriteDescriptionOption, getWriteIconOption, setWriteDescriptionOption, setWriteIconOption, write
 

Constructor Detail

TransformContainer

public TransformContainer()
Creates a new transform container.

Method Detail

getChildSource

public ITransform getChildSource(ITransform child)
The source for one of the transforms managed by this container.

Specified by:
getChildSource in interface ITransformContainer
Parameters:
child - Child transform

getContainedTransforms

public IDataGeneratorList getContainedTransforms()
The transforms managed by this container. This list may be empty but never null.

Specified by:
getContainedTransforms in interface ITransformContainer

getDependencies

public IDataGeneratorList getDependencies()
The dependencies of this transform. Additionally, a transform is considered dependent on the previous, next, children, and parent transforms. This function may return any subset of dependencies with the same transitive closure as the full set. A null result may be used to indicate that no dependencies exist.

Specified by:
getDependencies in interface ITransform
Overrides:
getDependencies in class Transform

isReorderable

public boolean isReorderable()
Whether the evaluation of this transform has no indirect dependencies.

Specified by:
isReorderable in interface ITransform
Overrides:
isReorderable in class Transform

isRunnable

public boolean isRunnable()
Whether this transform can be executed.

Specified by:
isRunnable in interface ITransform
Overrides:
isRunnable in class Transform

propertyChange

public void propertyChange(java.beans.PropertyChangeEvent e)
Specified by:
propertyChange in interface java.beans.PropertyChangeListener
Overrides:
propertyChange in class ProgrammableDataGenerator

setCompatibleTransforms

public void setCompatibleTransforms(IDataGeneratorList transforms)
Sets the transforms compatible with this statement.

Specified by:
setCompatibleTransforms in interface ITransform
Overrides:
setCompatibleTransforms in class Transform
Parameters:
transforms - Compatible transforms

setContainedTransforms

public void setContainedTransforms(IDataGeneratorList containedTransforms)
Sets the transforms held by this contained.

Parameters:
containedTransforms - Transforms

setEvaluationContext

public void setEvaluationContext(ITransformContext context)
Sets the runtime context for performing an evaluation.

Specified by:
setEvaluationContext in interface ITransform
Overrides:
setEvaluationContext in class Transform
Parameters:
context - Evaluation context

copy

protected void copy(boolean shallow,
                    IDataGenerator target)
Copies state for this generator.

Overrides:
copy in class Transform
Parameters:
shallow - Whether the copy is shallow
target - Generator to copy to

initializeSource

protected void initializeSource()
Performs any initialization work for the view that must be duplicated for each new instance. This method is called exactly once and only during object construction.

Overrides:
initializeSource in class Transform