Class IncStorageValue

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

    public class IncStorageValue
    extends AbstractTransformer
    implements StorageUpdater
    Increments the value of a storage value by either an integer or double increment.
    If the storage value has not been set yet, it will get set to 0.
    If the storage value contains a non-numerical value, no increment will be performed.
    It is also possible to directly output the updated storage value (while discarding the input token).

    Input/output:
    - accepts:
       adams.flow.core.Unknown
    - generates:
       adams.flow.core.Unknown


    -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: IncStorageValue
     
    -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 storage value to increment.
        default: storage
     
    -inc-type <INTEGER|DOUBLE> (property: incrementType)
        The type of increment to perform.
        default: INTEGER
     
    -inc-int <int> (property: integerIncrement)
        The increment in case of INTEGER increments.
        default: 1
     
    -inc-double <double> (property: doubleIncrement)
        The increment in case of DOUBLE increments.
        default: 1.0
     
    -output-storage-value <boolean> (property: outputStorageValue)
        If enabled, the input token gets discarded and the current storage value 
        get forwarded instead.
        default: false
     
    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 storage value.
      • m_IntegerIncrement

        protected int m_IntegerIncrement
        the integer increment.
      • m_DoubleIncrement

        protected double m_DoubleIncrement
        the double increment.
      • m_OutputStorageValue

        protected boolean m_OutputStorageValue
        whether to output the incremented storage value instead of input token.
    • Constructor Detail

      • IncStorageValue

        public IncStorageValue()
    • Method Detail

      • isUpdatingStorage

        public boolean isUpdatingStorage()
        Returns whether storage items are being updated.
        Specified by:
        isUpdatingStorage in interface StorageUpdater
        Returns:
        true if storage items are updated
      • setStorageName

        public void setStorageName​(StorageName value)
        Sets the name of the variable to update.
        Parameters:
        value - the name
      • getStorageName

        public StorageName getStorageName()
        Returns the name of the variable to update.
        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.
      • setIncrementType

        public void setIncrementType​(IncStorageValue.IncrementType value)
        Sets the type of increment to perform.
        Parameters:
        value - the type
      • incrementTypeTipText

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

        public void setIntegerIncrement​(int value)
        Sets the increment value for integer/long increments.
        Parameters:
        value - the increment
      • getIntegerIncrement

        public int getIntegerIncrement()
        Returns the increment value for integer/long increments.
        Returns:
        the increment
      • integerIncrementTipText

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

        public void setDoubleIncrement​(double value)
        Sets the increment value for double increments.
        Parameters:
        value - the increment
      • getDoubleIncrement

        public double getDoubleIncrement()
        Returns the increment value for double increments.
        Returns:
        the increment
      • doubleIncrementTipText

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

        public void setOutputStorageValue​(boolean value)
        Sets whether to output the storage value instead of the input token.
        Parameters:
        value - true if to output the storage value
      • getOutputStorageValue

        public boolean getOutputStorageValue()
        Returns whether to output the storage value instead of the input token.
        Returns:
        true if to output the storage value
      • outputStorageValueTipText

        public String outputStorageValueTipText()
        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:
        adams.flow.core.Unknown.class
      • 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.
        Specified by:
        generates in interface OutputProducer
        Returns:
        adams.flow.core.Unknown.class