Class HashSetAdd

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

    public class HashSetAdd
    extends AbstractTransformer
    implements ClassCrossReference
    Adds a value to the specified hashset.
    The input for the actor can be any object, the user has to ensure that the correct type is stored.
    In case of arrays, elements get stored one by one.
    SpreadSheet cells with actual data get retrieved as strings.
    The conversion can be used to transform the values.

    See also:
    adams.flow.standalone.HashSetInit
    adams.flow.transformer.HashSetInit

    Input/output:
    - accepts:
       java.lang.Object
       java.lang.Object[]
       adams.data.spreadsheet.SpreadSheet
    - generates:
       java.lang.Object


    -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: HashSetAdd
     
    -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
     
    -storage-name <adams.flow.control.StorageName> (property: storageName)
        The name of the hashset in the internal storage.
        default: hashset
     
    -column <adams.core.Index> (property: column)
        The index of the column in the spreadsheet which values to store in the
        hashset.
        default: first
        example: An index is a number starting with 1; the following placeholders can be used as well: first, second, third, last_2, last_1, last
     
    -conversion <adams.data.conversion.Conversion> (property: conversion)
        The type of conversion to perform.
        default: adams.data.conversion.ObjectToObject
     
    Author:
    fracpete (fracpete at waikato dot ac dot nz)
    See Also:
    Serialized Form
    • Field Detail

      • m_StorageName

        protected StorageName m_StorageName
        the name of the hashset in the internal storage.
      • m_Column

        protected Index m_Column
        the index of the column which values to store in the hashset.
      • m_Conversion

        protected Conversion m_Conversion
        the type of conversion.
    • Constructor Detail

      • HashSetAdd

        public HashSetAdd()
    • Method Detail

      • setStorageName

        public void setStorageName​(StorageName value)
        Sets the name for the lookup table in the internal storage.
        Parameters:
        value - the name
      • getStorageName

        public StorageName getStorageName()
        Returns the name for the lookup table in the internal storage.
        Returns:
        the name
      • storageNameTipText

        public String storageNameTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setColumn

        public void setColumn​(Index value)
        Sets the index of the column to store in the hashset.
        Parameters:
        value - the index
      • getColumn

        public Index getColumn()
        Returns the index of the column to store in the hashset.
        Returns:
        the index
      • columnTipText

        public String columnTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setConversion

        public void setConversion​(Conversion value)
        Sets the type of conversion to perform.
        Parameters:
        value - the type of conversion
      • getConversion

        public Conversion getConversion()
        Returns the type of conversion to perform.
        Returns:
        the type of conversion
      • conversionTipText

        public String conversionTipText()
        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.
        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
      • addValue

        protected String addValue​(HashSet hashset,
                                  Object value)
        Adds the value to the hashset.
        Parameters:
        hashset - the hashset to update
        value - the value to store
        Returns:
        null if successfully added, otherwise error message
      • doExecute

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