adams.flow.transformer
Class SpreadSheetVariableRowIterator

java.lang.Object
  extended by adams.core.ConsoleObject
      extended by adams.core.option.AbstractOptionHandler
          extended by adams.flow.core.AbstractActor
              extended by adams.flow.transformer.AbstractTransformer
                  extended by adams.flow.transformer.SpreadSheetVariableRowIterator
All Implemented Interfaces:
AdditionalInformationHandler, CleanUpHandler, Debuggable, DebugOutputHandler, Destroyable, OptionHandler, QuickInfoSupporter, ShallowCopySupporter<AbstractActor>, SizeOfHandler, Stoppable, VariableChangeListener, Actor, ErrorHandler, InputConsumer, OutputProducer, Serializable, Comparable

public class SpreadSheetVariableRowIterator
extends AbstractTransformer

Iterates through a defined range of rows. In each iteration the cell values of the defined column range are mapped to variables.
By default the (cleaned up) header names of the columns are used as variable names. To avoid name clashes, a prefix can be chosen for the variable names.

Input/output:
- accepts:
   adams.data.spreadsheet.SpreadSheet
- generates:
   adams.data.spreadsheet.SpreadSheet

Valid options are:

-D <int> (property: debugLevel)
    The greater the number the more additional info the scheme may output to 
    the console (0 = off).
    default: 0
    minimum: 0
 
-name <java.lang.String> (property: name)
    The name of the actor.
    default: SpreadSheetVariableRowIterator
 
-annotation <adams.core.base.BaseText> (property: annotations)
    The annotations to attach to this actor.
    default: 
 
-skip (property: skip)
    If set to true, transformation is skipped and the input token is just forwarded 
    as it is.
 
-stop-flow-on-error (property: stopFlowOnError)
    If set to true, the flow gets stopped in case this actor encounters an error;
     useful for critical actors.
 
-rows <adams.core.Range> (property: rows)
    The rows to retrieve the values from; A range is a comma-separated list 
    of single 1-based indices or sub-ranges of indices ('start-end'); 'inv(..
    .)' inverts the range '...'; the following placeholders can be used as well:
     first, second, third, last_2, last_1, last
    default: first-last
 
-columns <adams.core.Range> (property: columns)
    The columns to retrieve the values from; A range is a comma-separated list 
    of single 1-based indices or sub-ranges of indices ('start-end'); 'inv(..
    .)' inverts the range '...'; the following placeholders can be used as well:
     first, second, third, last_2, last_1, last
    default: first-last
 
-variable-prefix <java.lang.String> (property: variablePrefix)
    The prefix to prepend the header names with to make up the variable name.
    default: 
 
-missing-value <java.lang.String> (property: missingValue)
    The value to use as variable value in case of missing cells.
    default: 
 

Version:
$Revision: 6539 $
Author:
fracpete (fracpete at waikato dot ac dot nz)
See Also:
Serialized Form

Field Summary
static String BACKUP_COLUMNS
          the column indices.
static String BACKUP_QUEUE
          the key for storing the queue of rows to process.
static String BACKUP_SHEET
          the underlying spreadsheet.
protected  int[] m_ColumnIndices
          the column indices.
protected  Range m_Columns
          the range of columns to use.
protected  String m_MissingValue
          the value to use for missing cells.
protected  ArrayList<Integer> m_Queue
          the rows to iterate.
protected  Range m_Rows
          the range of rows to use.
protected  SpreadSheet m_Sheet
          the underlying sheet.
protected  String m_VariablePrefix
          the prefix for the variables.
 
Fields inherited from class adams.flow.transformer.AbstractTransformer
BACKUP_INPUT, BACKUP_OUTPUT, m_InputToken, m_OutputToken
 
Fields inherited from class adams.flow.core.AbstractActor
m_Annotations, m_BackupState, m_DetectedObjectVariables, m_DetectedVariables, m_ErrorHandler, m_Executed, m_Executing, m_ExecutionListeningSupporter, m_FullName, m_Headless, m_Name, m_Parent, m_Root, m_Self, m_Skip, m_StopFlowOnError, m_StopMessage, m_Stopped, m_StorageHandler, m_VariablesUpdated
 
Fields inherited from class adams.core.option.AbstractOptionHandler
m_DebugLevel, m_OptionManager
 
Fields inherited from interface adams.flow.core.Actor
FILE_EXTENSION, FILE_EXTENSION_GZ
 
Constructor Summary
SpreadSheetVariableRowIterator()
           
 
Method Summary
 Class[] accepts()
          Returns the class that the consumer accepts.
protected  Hashtable<String,Object> backupState()
          Backs up the current state of the actor before update the variables.
 void cleanUp()
          Cleans up after the execution has finished.
 String columnsTipText()
          Returns the tip text for this property.
 void defineOptions()
          Adds options to the internal list of options.
protected  String doExecute()
          Executes the flow item.
 Class[] generates()
          Returns the class of objects that it generates.
 Range getColumns()
          Returns the columns to retrieve the values from.
 String getMissingValue()
          Returns the value to use for missing cells.
 String getQuickInfo()
          Returns a quick info about the actor, which will be displayed in the GUI.
 Range getRows()
          Returns the rows to retrieve the values from.
 String getVariablePrefix()
          Returns the prefix for the variables (prefix + header).
 String globalInfo()
          Returns a string describing the object.
 boolean hasPendingOutput()
          Checks whether there is pending output to be collected after executing the flow item.
protected  void initialize()
          Initializes the members.
 String missingValueTipText()
          Returns the tip text for this property.
 Token output()
          Returns the generated token.
protected  void pruneBackup()
          Removes entries from the backup.
protected  void reset()
          Resets the actor.
protected  void restoreState(Hashtable<String,Object> state)
          Restores the state of the actor before the variables got updated.
 String rowsTipText()
          Returns the tip text for this property.
 void setColumns(Range value)
          Sets the columns to retrieve the values from.
 void setMissingValue(String value)
          Sets the value to use for missing cells.
 void setRows(Range value)
          Sets the rows to retrieve the values from.
 void setVariablePrefix(String value)
          Sets the prefix for the variables (prefix + header).
 String variablePrefixTipText()
          Returns the tip text for this property.
 void wrapUp()
          Frees up memory.
 
Methods inherited from class adams.flow.transformer.AbstractTransformer
execute, input, postExecute
 
Methods inherited from class adams.flow.core.AbstractActor
annotationsTipText, canInspectOptions, canPerformSetUpCheck, compareTo, debug, destroy, equals, findVariables, findVariables, findVariables, forceVariables, forCommandLine, forName, getAdditionalInformation, getAnnotations, getDefaultName, getDetectedVariables, getErrorHandler, getFlowActors, getFlowExecutionListeningSupporter, getFullName, getName, getNextSibling, getParent, getPreviousSibling, getRoot, getSkip, getStopFlowOnError, getStopMessage, getStorageHandler, getVariables, handleError, handleException, hasErrorHandler, hasStopMessage, index, isBackedUp, isExecuted, isExecuting, isFinished, isHeadless, isStopped, nameTipText, performSetUpChecks, preExecute, pruneBackup, setAnnotations, setErrorHandler, setHeadless, setName, setParent, setSkip, setStopFlowOnError, setUp, setVariables, shallowCopy, shallowCopy, sizeOf, skipTipText, stopExecution, stopExecution, stopFlowOnErrorTipText, updateDetectedVariables, updatePrefix, updateVariables, variableChanged
 
Methods inherited from class adams.core.option.AbstractOptionHandler
cleanUpOptions, debug, debugLevelTipText, finishInit, getDebugLevel, getOptionManager, isDebugOn, newOptionManager, setDebugLevel, toCommandLine, toString
 
Methods inherited from class adams.core.ConsoleObject
getDebugging, getSystemErr, getSystemOut
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface adams.flow.core.Actor
compareTo, debug, destroy, equals, findVariables, getAnnotations, getDefaultName, getDetectedVariables, getErrorHandler, getFlowExecutionListeningSupporter, getFullName, getName, getNextSibling, getParent, getPreviousSibling, getRoot, getSkip, getStopFlowOnError, getStopMessage, getStorageHandler, getVariables, handleError, hasErrorHandler, hasStopMessage, index, isExecuted, isFinished, isHeadless, isStopped, setAnnotations, setErrorHandler, setHeadless, setName, setParent, setSkip, setStopFlowOnError, setUp, setVariables, sizeOf, stopExecution, stopExecution, variableChanged
 
Methods inherited from interface adams.core.AdditionalInformationHandler
getAdditionalInformation
 
Methods inherited from interface adams.core.option.OptionHandler
cleanUpOptions, getOptionManager
 

Field Detail

BACKUP_QUEUE

public static final String BACKUP_QUEUE
the key for storing the queue of rows to process.

See Also:
Constant Field Values

BACKUP_SHEET

public static final String BACKUP_SHEET
the underlying spreadsheet.

See Also:
Constant Field Values

BACKUP_COLUMNS

public static final String BACKUP_COLUMNS
the column indices.

See Also:
Constant Field Values

m_Columns

protected Range m_Columns
the range of columns to use.


m_Rows

protected Range m_Rows
the range of rows to use.


m_VariablePrefix

protected String m_VariablePrefix
the prefix for the variables.


m_MissingValue

protected String m_MissingValue
the value to use for missing cells.


m_Queue

protected ArrayList<Integer> m_Queue
the rows to iterate.


m_Sheet

protected SpreadSheet m_Sheet
the underlying sheet.


m_ColumnIndices

protected int[] m_ColumnIndices
the column indices.

Constructor Detail

SpreadSheetVariableRowIterator

public SpreadSheetVariableRowIterator()
Method Detail

globalInfo

public String globalInfo()
Returns a string describing the object.

Specified by:
globalInfo in class AbstractOptionHandler
Returns:
a description suitable for displaying in the gui

defineOptions

public void defineOptions()
Adds options to the internal list of options.

Specified by:
defineOptions in interface OptionHandler
Overrides:
defineOptions in class AbstractActor

initialize

protected void initialize()
Initializes the members.

Overrides:
initialize in class AbstractActor

reset

protected void reset()
Resets the actor.

Overrides:
reset in class AbstractTransformer

pruneBackup

protected void pruneBackup()
Removes entries from the backup.

Overrides:
pruneBackup in class AbstractActor

backupState

protected Hashtable<String,Object> backupState()
Backs up the current state of the actor before update the variables.

Overrides:
backupState in class AbstractTransformer
Returns:
the backup

restoreState

protected void restoreState(Hashtable<String,Object> state)
Restores the state of the actor before the variables got updated.

Overrides:
restoreState in class AbstractTransformer
Parameters:
state - the backup of the state to restore from

setColumns

public void setColumns(Range value)
Sets the columns to retrieve the values from.

Parameters:
value - the columns

getColumns

public Range getColumns()
Returns the columns to retrieve the values from.

Returns:
the columns

columnsTipText

public String columnsTipText()
Returns the tip text for this property.

Returns:
tip text for this property suitable for displaying in the GUI or for listing the options.

setRows

public void setRows(Range value)
Sets the rows to retrieve the values from.

Parameters:
value - the rows

getRows

public Range getRows()
Returns the rows to retrieve the values from.

Returns:
the rows

rowsTipText

public String rowsTipText()
Returns the tip text for this property.

Returns:
tip text for this property suitable for displaying in the GUI or for listing the options.

setVariablePrefix

public void setVariablePrefix(String value)
Sets the prefix for the variables (prefix + header).

Parameters:
value - the prefix

getVariablePrefix

public String getVariablePrefix()
Returns the prefix for the variables (prefix + header).

Returns:
the prefix

variablePrefixTipText

public String variablePrefixTipText()
Returns the tip text for this property.

Returns:
tip text for this property suitable for displaying in the GUI or for listing the options.

setMissingValue

public void setMissingValue(String value)
Sets the value to use for missing cells.

Parameters:
value - the value for missing cells

getMissingValue

public String getMissingValue()
Returns the value to use for missing cells.

Returns:
the value for missing cells

missingValueTipText

public String missingValueTipText()
Returns the tip text for this property.

Returns:
tip text for this property suitable for displaying in the GUI or for listing the options.

getQuickInfo

public String getQuickInfo()
Returns a quick info about the actor, which will be displayed in the GUI.

Specified by:
getQuickInfo in interface QuickInfoSupporter
Specified by:
getQuickInfo in interface Actor
Overrides:
getQuickInfo in class AbstractActor
Returns:
null if no info available, otherwise short string

accepts

public Class[] accepts()
Returns the class that the consumer accepts.

Returns:
the Class of objects that can be processed

generates

public Class[] generates()
Returns the class of objects that it generates.

Returns:
the Class of the generated tokens

doExecute

protected String doExecute()
Executes the flow item.

Specified by:
doExecute in class AbstractActor
Returns:
null if everything is fine, otherwise error message

hasPendingOutput

public boolean hasPendingOutput()
Checks whether there is pending output to be collected after executing the flow item.

Specified by:
hasPendingOutput in interface OutputProducer
Overrides:
hasPendingOutput in class AbstractTransformer
Returns:
true if there is pending output

output

public Token output()
Returns the generated token.

Specified by:
output in interface OutputProducer
Overrides:
output in class AbstractTransformer
Returns:
the generated token

wrapUp

public void wrapUp()
Frees up memory.

Specified by:
wrapUp in interface Actor
Overrides:
wrapUp in class AbstractTransformer

cleanUp

public void cleanUp()
Cleans up after the execution has finished. Also removes graphical components.

Specified by:
cleanUp in interface CleanUpHandler
Specified by:
cleanUp in interface Actor
Overrides:
cleanUp in class AbstractActor


Copyright © 2013 University of Waikato, Hamilton, NZ. All Rights Reserved.