Class SpreadSheetDifference

  • All Implemented Interfaces:
    AdditionalInformationHandler, CleanUpHandler, Destroyable, GlobalInfoSupporter, LoggingLevelHandler, LoggingSupporter, OptionHandler, QuickInfoSupporter, ShallowCopySupporter<Actor>, SizeOfHandler, Stoppable, StoppableWithFeedback, VariablesInspectionHandler, VariableChangeListener, Actor, ErrorHandler, InputConsumer, OutputProducer, Serializable, Comparable

    public class SpreadSheetDifference
    extends AbstractTransformer
    Computes the difference of the numeric cells between two spreadsheets.
    The values of the second spreadsheet are subtracted from the first one.
    If no 'key' columns are defined, the current order of rows is used for comparison.

    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: SpreadSheetDifference
     
    -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.
     
    -key-columns <adams.core.Range> (property: keyColumns)
        The columns to use as keys for identifying rows in the spreadsheets, if 
        empty the row index is used instead; 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: 
     
    Author:
    fracpete (fracpete at waikato dot ac dot nz)
    See Also:
    Serialized Form
    • Field Detail

      • m_KeyColumns

        protected SpreadSheetColumnRange m_KeyColumns
        the range of column indices to use as key for identifying a row.
    • Constructor Detail

      • SpreadSheetDifference

        public SpreadSheetDifference()
    • Method Detail

      • setKeyColumns

        public void setKeyColumns​(SpreadSheetColumnRange value)
        Sets the colums that identify a row, use empty string to simply use row index.
        Parameters:
        value - the range
      • getKeyColumns

        public SpreadSheetColumnRange getKeyColumns()
        Returns the colums that identify a row, use empty string to simply use row index
        Returns:
        the range
      • keyColumnsTipText

        public String keyColumnsTipText()
        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
      • generates

        public Class[] generates()
        Returns the class of objects that it generates.
        Returns:
        adams.core.io.SpreadSheet.class
      • doExecute

        protected String doExecute()
        Executes the flow item.
        Specified by:
        doExecute in class AbstractActor
        Returns:
        null if everything is fine, otherwise error message