adams.flow.transformer
Class SpreadSheetPlotGenerator

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.SpreadSheetPlotGenerator
All Implemented Interfaces:
AdditionalInformationHandler, CleanUpHandler, Debuggable, DebugOutputHandler, Destroyable, OptionHandler, QuickInfoSupporter, ShallowCopySupporter<AbstractActor>, SizeOfHandler, Stoppable, VariableChangeListener, ErrorHandler, InputConsumer, OutputProducer, Serializable, Comparable

public class SpreadSheetPlotGenerator
extends AbstractTransformer

Outputs plot containers generated from a spreadsheet.

Input/output:
- accepts:
   adams.core.io.SpreadSheet
- generates:
   adams.flow.container.SequencePlotterContainer

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: SpreadSheetPlotGenerator
 
-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.
 
-columns <java.lang.String> (property: plotColumns)
    The range of columns to include in the plot; A range is a comma-separated
    list of single 1-based indices or sub-ranges of indices ('start-end'); the
    following placeholders can be used as well: first, second, third, last_2,
     last_1, last
    default:
 
-sort-column <java.lang.String> (property: sortColumn)
    The (optional) index of the column to use for sorting; An index is a number
    starting with 1; the following placeholders can be used as well: first,
    second, third, last_2, last_1, last
    default:
 
-sort-descending (property: sortDescending)
    If set to true, sorting is done in descending manner instead (ignored is
    using a column for X values).
 
-x-column <java.lang.String> (property: XColumn)
    The (optional) index of the column which values to use as X values in the
    plot; An index is a number starting with 1; the following placeholders can
    be used as well: first, second, third, last_2, last_1, last
    default:
 
-default-cell-value <double> (property: defaultCellValue)
    The default value for missing or non-numeric cells.
    default: -1.0
 

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

Nested Class Summary
static class SpreadSheetPlotGenerator.SortableRow
          Helper class for sorting rows.
 
Field Summary
protected  Vector<SequencePlotterContainer> m_Containers
          the generated plot containers.
protected  double m_DefaultCellValue
          the default value for missing or non-numeric cells.
protected  Range m_PlotColumns
          the columns to plot.
protected  Index m_SortColumn
          the (optional) column to sort on.
protected  boolean m_SortDescending
          whether to sort descending (if sorting).
protected  Index m_XColumn
          the (optional) column to use as X value.
static String MISSING_CELL_VALUE
          the default string value for cells that are missing.
 
Fields inherited from class adams.flow.transformer.AbstractTransformer
BACKUP_INPUT, BACKUP_OUTPUT, m_InputToken, m_OutputToken
 
Fields inherited from class adams.flow.core.AbstractActor
FILE_EXTENSION, FILE_EXTENSION_GZ, m_Annotations, m_BackupState, m_DetectedObjectVariables, m_DetectedVariables, m_ErrorHandler, m_Executed, 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
 
Constructor Summary
SpreadSheetPlotGenerator()
           
 
Method Summary
 Class[] accepts()
          Returns the class that the consumer accepts.
 String defaultCellValueTipText()
          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.
protected  String getCellString(SpreadSheet.Row row, int index)
          Returns the string value for the specified cell.
protected  double getCellValue(SpreadSheet.Row row, int index)
          Returns the cell value for the specified column index.
 double getDefaultCellValue()
          Returns the default value for missing or non-numeric cells.
 String getPlotColumns()
          Returns the current column range to use in the plot.
 String getQuickInfo()
          Returns a quick info about the actor, which will be displayed in the GUI.
 String getSortColumn()
          Returns the column index to use for sorting.
 boolean getSortDescending()
          Returns whether to sorting in descending manner instead.
 String getXColumn()
          Returns the index of the column which values to use as X values.
 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.
 Token output()
          Returns the generated token.
 String plotColumnsTipText()
          Returns the tip text for this property.
 void setDefaultCellValue(double value)
          Sets the default value for missing or non-numeric cells.
 void setPlotColumns(String value)
          Sets the column range to use in the plot.
 void setSortColumn(String value)
          Sets the column index to use for sorting.
 void setSortDescending(boolean value)
          Sets whether to sort in descending manner instead.
 void setXColumn(String value)
          Sets the index of the column which values to use as X values.
 String sortColumnTipText()
          Returns the tip text for this property.
 String sortDescendingTipText()
          Returns the tip text for this property.
 String XColumnTipText()
          Returns the tip text for this property.
 
Methods inherited from class adams.flow.transformer.AbstractTransformer
backupState, execute, input, postExecute, reset, restoreState, wrapUp
 
Methods inherited from class adams.flow.core.AbstractActor
annotationsTipText, canInspectOptions, canPerformSetUpCheck, cleanUp, compareTo, debug, destroy, equals, findVariables, findVariables, findVariables, forceVariables, forCommandLine, forName, getAdditionalInformation, getAnnotations, getDefaultName, getDetectedVariables, getErrorHandler, getFlowActors, getFullName, getName, getNextSibling, getParent, getPreviousSibling, getRoot, getSkip, getStopFlowOnError, getStopMessage, getStorageHandler, getVariables, handleError, hasErrorHandler, hasStopMessage, index, isBackedUp, isExecuted, isFinished, isHeadless, isStopped, nameTipText, performSetUpChecks, preExecute, pruneBackup, 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
 

Field Detail

MISSING_CELL_VALUE

public static final String MISSING_CELL_VALUE
the default string value for cells that are missing.

See Also:
Constant Field Values

m_PlotColumns

protected Range m_PlotColumns
the columns to plot.


m_SortColumn

protected Index m_SortColumn
the (optional) column to sort on.


m_SortDescending

protected boolean m_SortDescending
whether to sort descending (if sorting).


m_XColumn

protected Index m_XColumn
the (optional) column to use as X value.


m_DefaultCellValue

protected double m_DefaultCellValue
the default value for missing or non-numeric cells.


m_Containers

protected Vector<SequencePlotterContainer> m_Containers
the generated plot containers.

Constructor Detail

SpreadSheetPlotGenerator

public SpreadSheetPlotGenerator()
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

getQuickInfo

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

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

setPlotColumns

public void setPlotColumns(String value)
Sets the column range to use in the plot.

Parameters:
value - the column range

getPlotColumns

public String getPlotColumns()
Returns the current column range to use in the plot.

Returns:
the column range

plotColumnsTipText

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

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

setSortColumn

public void setSortColumn(String value)
Sets the column index to use for sorting.

Parameters:
value - the column index

getSortColumn

public String getSortColumn()
Returns the column index to use for sorting.

Returns:
the column index

sortColumnTipText

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

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

setSortDescending

public void setSortDescending(boolean value)
Sets whether to sort in descending manner instead.

Parameters:
value - true if to sort descendingly

getSortDescending

public boolean getSortDescending()
Returns whether to sorting in descending manner instead.

Returns:
true if sorting descendingly

sortDescendingTipText

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

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

setXColumn

public void setXColumn(String value)
Sets the index of the column which values to use as X values.

Parameters:
value - the column index

getXColumn

public String getXColumn()
Returns the index of the column which values to use as X values.

Returns:
the column index

XColumnTipText

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

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

setDefaultCellValue

public void setDefaultCellValue(double value)
Sets the default value for missing or non-numeric cells.

Parameters:
value - the default value

getDefaultCellValue

public double getDefaultCellValue()
Returns the default value for missing or non-numeric cells.

Returns:
the default value

defaultCellValueTipText

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

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

accepts

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

Returns:
adams.core.io.SpreadSheet.class

getCellString

protected String getCellString(SpreadSheet.Row row,
                               int index)
Returns the string value for the specified cell.

Parameters:
row - the row to get the cell from
index - the column index
Returns:
the string value

getCellValue

protected double getCellValue(SpreadSheet.Row row,
                              int index)
Returns the cell value for the specified column index. Uses the default value if the cell is missing or non-numeric.

Parameters:
row - the row to get the cell from
index - the column index
Returns:
the cell value
See Also:
m_DefaultCellValue

doExecute

protected String doExecute()
Executes the flow item.

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

generates

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

Returns:
adams.flow.container.SequencePlotterContainer.class

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


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