Class SpreadSheetMethodMerge

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

    public class SpreadSheetMethodMerge
    extends AbstractTransformer
    implements SpreadSheetMergeActor
    Merges 2 or more spreadsheets into a single spreadsheet, using a selectable merge method.

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


    -logging-level <OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST> (property: loggingLevel)
        The logging level for outputting errors and debugging output.
        default: WARNING
     
    -name <java.lang.String> (property: name)
        The name of the actor.
        default: SpreadSheetMethodMerge
     
    -annotation <adams.core.base.BaseAnnotation> (property: annotations)
        The annotations to attach to this actor.
        default:
     
    -skip <boolean> (property: skip)
        If set to true, transformation is skipped and the input token is just forwarded
        as it is.
        default: false
     
    -stop-flow-on-error <boolean> (property: stopFlowOnError)
        If set to true, the flow execution at this level gets stopped in case this
        actor encounters an error; the error gets propagated; useful for critical
        actors.
        default: false
     
    -silent <boolean> (property: silent)
        If enabled, then no errors are output in the console; Note: the enclosing
        actor handler must have this enabled as well.
        default: false
     
    -method <adams.flow.transformer.spreadsheetmethodmerge.AbstractMerge> (property: mergeMethod)
        The method that should be used to perform the merge.
        default: adams.flow.transformer.spreadsheetmethodmerge.Simple -class-finder adams.data.spreadsheet.columnfinder.NullFinder
     
    Author:
    Corey Sterling (csterlin at waikato dot ac dot nz)
    See Also:
    Serialized Form
    • Field Detail

      • m_MergeMethod

        protected AbstractMerge m_MergeMethod
        The method to use to perform the merge.
    • Constructor Detail

      • SpreadSheetMethodMerge

        public SpreadSheetMethodMerge()
    • Method Detail

      • getMergeMethod

        public AbstractMerge getMergeMethod()
        Gets the currently-set merge method.
        Returns:
        The merge method being used currently.
      • setMergeMethod

        public void setMergeMethod​(AbstractMerge mergeMethod)
        Sets the merge method to use to perform the merge.
        Parameters:
        mergeMethod - The merge method to use.
      • mergeMethodTipText

        public String mergeMethodTipText()
        Gets the tip-text for the merge method option.
        Returns:
        The tip-text as a String.
      • getInput

        protected SpreadSheet[] getInput()
        Gets the input Spreadsheets to merge.
        Returns:
        The input Spreadsheet objects to merge.
      • spreadsheetForSingleDatarow

        protected SpreadSheet spreadsheetForSingleDatarow​(DataRow row)
        Creates a spreadsheet, containing a copy of the single datarow provided.
        Parameters:
        row - The row to create a spreadsheet for.
        Returns:
        The created spreadsheet.
      • setOutput

        protected void setOutput​(SpreadSheet output)
        Sets the payload of the output token for this transformer.
        Parameters:
        output - The output payload.
      • doExecute

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

        public Class[] accepts()
        Returns the class that the consumer accepts.
        Specified by:
        accepts in interface InputConsumer
        Returns:
        the Class of objects that can be processed
      • generates

        public Class[] generates()
        Returns the class of objects that it generates.
        Specified by:
        generates in interface OutputProducer
        Returns:
        the Class of the generated tokens