Class IncVariable

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

    public class IncVariable
    extends AbstractTransformer
    implements VariableUpdater
    Increments the value of a variable by either an integer or double increment.
    If the variable has not been set yet, it will get set to 0.
    If the variable contains a non-numerical value, no increment will be performed.
    It is also possible to directly output the updated variable (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: IncVariable
     
    -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
     
    -var-name <adams.core.VariableName> (property: variableName)
        The name of the variable to increment.
        default: variable
     
    -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-variable-value <boolean> (property: outputVariableValue)
        If enabled, the input token gets discarded and the current variable value 
        get forwarded instead.
        default: false
     
    Author:
    fracpete (fracpete at waikato dot ac dot nz)
    See Also:
    Serialized Form
    • Field Detail

      • m_VariableName

        protected VariableName m_VariableName
        the name of the variable.
      • m_IntegerIncrement

        protected int m_IntegerIncrement
        the integer/long increment.
      • m_DoubleIncrement

        protected double m_DoubleIncrement
        the double increment.
      • m_OutputVariableValue

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

      • IncVariable

        public IncVariable()
    • Method Detail

      • isUpdatingVariables

        public boolean isUpdatingVariables()
        Returns whether variables are being updated.
        Specified by:
        isUpdatingVariables in interface VariableUpdater
        Returns:
        true if variables are updated
      • setVariableName

        public void setVariableName​(VariableName value)
        Sets the name of the variable to update.
        Parameters:
        value - the name
      • getVariableName

        public VariableName getVariableName()
        Returns the name of the variable to update.
        Returns:
        the name
      • variableNameTipText

        public String variableNameTipText()
        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​(IncVariable.IncrementType value)
        Sets the type of increment to perform.
        Parameters:
        value - the type
      • getIncrementType

        public IncVariable.IncrementType getIncrementType()
        Returns the type of increment to perform.
        Returns:
        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.
      • setOutputVariableValue

        public void setOutputVariableValue​(boolean value)
        Sets whether to output the variable value instead of the input token.
        Parameters:
        value - true if to output the variable value
      • getOutputVariableValue

        public boolean getOutputVariableValue()
        Returns whether to output the variable value instead of the input token.
        Returns:
        true if to output the variable value
      • outputVariableValueTipText

        public String outputVariableValueTipText()
        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