jigcell.compare.transform
Class SelectColumnsTransform

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.SelectColumnsTransform
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

public class SelectColumnsTransform
extends Transform

A transform that selects a set of columns out of an existing generator.

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
static java.lang.String ATTRIBUTE_COLUMNS
          Attribute for the selected columns
protected  java.lang.String[] columnNames
          Last updated values for the column names
protected static java.lang.String NAME_TRANSFORM
          Display name for this transform
protected  boolean needToClear
          Whether there is an outstanding clear caused by a flush to process
 
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.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
SelectColumnsTransform()
          Creates a new transform to select columns from a larger set of data.
 
Method Summary
 void clear()
          Nulls out the stored element.
protected  IDataElement evaluate(IDataElement input)
          Evaluates the transform.
 void flush()
          Destroys all work leading into this generator.
 ITransformAnnotation getAnnotation()
          An annotation object for this generator.
 java.lang.String getColumnName(long column)
          The name of a column to select from.
 java.lang.String[] getColumnNames()
          The names of the columns to select from.
 IDataElement getColumns()
          The selected columns.
static java.lang.Object getCustomizableInstances()
          Generates an instance.
 ITypeChecker getInputTypeChecker()
          Type checker that can validate the input to this generator.
 ITypeChecker getOutputTypeChecker()
          Type checker that can validate the output from this generator.
protected  long getSelectedIndex(long column)
          The index of a selected column in the columns to select from.
 java.lang.String getSelectedName(long column)
          The name of a selected column.
 void setColumns(java.lang.String columns)
          Sets the selected columns.
 
Methods inherited from class jigcell.compare.transform.Transform
copy, evaluate, getAllowContextInsertion, getAllowContextRemoval, getCompatibleTransforms, getContainer, getDependencies, getEvaluationContext, getNextStatement, getPreviousElement, getPreviousStatement, getSource, getTransformForGenerator, hasNextStatement, hasPreviousStatement, initializeSource, isReorderable, isRunnable, setAllowContextInsertion, setAllowContextRemoval, setAnnotation, setCompatibleTransforms, setContainer, setEvaluationContext, setNextStatement, setPreviousStatement
 
Methods inherited from class jigcell.compare.data.ProgrammableDataGenerator
addEvaluationListener, createCustomizer, fireEvaluationError, fireEvaluationError, fireEvaluationStart, fireEvaluationStop, getAllowDescriptionQuery, getCallStack, getElement, getElement, getEvaluationLock, getInterface, 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.IProgrammableDataGenerator
addEvaluationListener, getCallStack, getElement, getEvaluationLock, getInterface, 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
 

Field Detail

ATTRIBUTE_COLUMNS

public static final java.lang.String ATTRIBUTE_COLUMNS
Attribute for the selected columns

See Also:
Constant Field Values

NAME_TRANSFORM

protected static final java.lang.String NAME_TRANSFORM
Display name for this transform

See Also:
Constant Field Values

columnNames

protected transient java.lang.String[] columnNames
Last updated values for the column names


needToClear

protected transient boolean needToClear
Whether there is an outstanding clear caused by a flush to process

Constructor Detail

SelectColumnsTransform

public SelectColumnsTransform()
Creates a new transform to select columns from a larger set of data.

Method Detail

getCustomizableInstances

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


clear

public void clear()
Nulls out the stored element.

Specified by:
clear in interface IEditableDataGenerator
Specified by:
clear in interface ITransform
Overrides:
clear in class Transform

flush

public void flush()
Destroys all work leading into this generator.

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

getAnnotation

public ITransformAnnotation getAnnotation()
An annotation object for this generator.

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

getColumnName

public java.lang.String getColumnName(long column)
The name of a column to select from.

Parameters:
column - Column

getColumnNames

public java.lang.String[] getColumnNames()
The names of the columns to select from.


getColumns

public IDataElement getColumns()
The selected columns.


getInputTypeChecker

public ITypeChecker getInputTypeChecker()
Type checker that can validate the input to this generator.

Specified by:
getInputTypeChecker in interface IProgrammableDataGenerator
Overrides:
getInputTypeChecker in class ProgrammableDataGenerator

getOutputTypeChecker

public ITypeChecker getOutputTypeChecker()
Type checker that can validate the output from this generator.

Specified by:
getOutputTypeChecker in interface IProgrammableDataGenerator
Overrides:
getOutputTypeChecker in class ProgrammableDataGenerator

getSelectedName

public java.lang.String getSelectedName(long column)
The name of a selected column.

Parameters:
column - Column

setColumns

public void setColumns(java.lang.String columns)
Sets the selected columns.

Parameters:
columns - Columns

evaluate

protected IDataElement evaluate(IDataElement input)
Evaluates the transform.

Overrides:
evaluate in class Transform
Parameters:
input - Transform input

getSelectedIndex

protected long getSelectedIndex(long column)
The index of a selected column in the columns to select from.

Parameters:
column - Column