Class AbstractRedisAction

  • All Implemented Interfaces:
    adams.core.Destroyable, adams.core.GlobalInfoSupporter, adams.core.logging.LoggingLevelHandler, adams.core.logging.LoggingSupporter, adams.core.option.OptionHandler, adams.core.QuickInfoSupporter, adams.core.SizeOfHandler, adams.core.Stoppable, adams.core.StoppableWithFeedback, adams.flow.core.FlowContextHandler, Serializable
    Direct Known Subclasses:
    BroadcastAndListen, PassThrough

    public abstract class AbstractRedisAction
    extends adams.core.option.AbstractOptionHandler
    implements adams.core.QuickInfoSupporter, adams.core.StoppableWithFeedback, adams.flow.core.FlowContextHandler
    Ancestor for Redis sink actions.
    Author:
    fracpete (fracpete at waikato dot ac dot nz)
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected adams.flow.core.Actor m_FlowContext
      the flow context.
      protected boolean m_Stopped
      whether the action has been stopped.
      • Fields inherited from class adams.core.option.AbstractOptionHandler

        m_OptionManager
      • Fields inherited from class adams.core.logging.LoggingObject

        m_Logger, m_LoggingIsEnabled, m_LoggingLevel
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      abstract Class[] accepts()
      Returns the classes the action accepts as input.
      String check​(RedisConnection connection, Object o)
      For checking the state before executing the action.
      protected abstract Object doExecute​(RedisConnection connection, Object o, adams.core.MessageCollection errors)
      Performs the action.
      Object execute​(RedisConnection connection, Object o, adams.core.MessageCollection errors)
      Performs the action on the specified object.
      abstract Class generates()
      Returns the classes the action generates as output.
      adams.flow.core.Actor getFlowContext()
      Returns the flow context, if any.
      String getQuickInfo()
      Returns a quick info about the object, which can be displayed in the GUI.
      protected void initialize()
      Initializes the members.
      boolean isStopped()
      Whether the execution has been stopped.
      void setFlowContext​(adams.flow.core.Actor value)
      Sets the flow context.
      void stopExecution()
      Stops the execution.
      • Methods inherited from class adams.core.option.AbstractOptionHandler

        cleanUpOptions, defineOptions, destroy, finishInit, getDefaultLoggingLevel, getOptionManager, globalInfo, loggingLevelTipText, newOptionManager, reset, setLoggingLevel, toCommandLine, toString
      • Methods inherited from class adams.core.logging.LoggingObject

        configureLogger, getLogger, getLoggingLevel, initializeLogging, isLoggingEnabled, sizeOf
      • Methods inherited from interface adams.core.logging.LoggingLevelHandler

        getLoggingLevel
    • Field Detail

      • m_Stopped

        protected boolean m_Stopped
        whether the action has been stopped.
      • m_FlowContext

        protected transient adams.flow.core.Actor m_FlowContext
        the flow context.
    • Constructor Detail

      • AbstractRedisAction

        public AbstractRedisAction()
    • Method Detail

      • initialize

        protected void initialize()
        Initializes the members.
        Overrides:
        initialize in class adams.core.option.AbstractOptionHandler
      • setFlowContext

        public void setFlowContext​(adams.flow.core.Actor value)
        Sets the flow context.
        Specified by:
        setFlowContext in interface adams.flow.core.FlowContextHandler
        Parameters:
        value - the actor
      • getFlowContext

        public adams.flow.core.Actor getFlowContext()
        Returns the flow context, if any.
        Specified by:
        getFlowContext in interface adams.flow.core.FlowContextHandler
        Returns:
        the actor, null if none available
      • getQuickInfo

        public String getQuickInfo()
        Returns a quick info about the object, which can be displayed in the GUI.

        Default implementation returns null.
        Specified by:
        getQuickInfo in interface adams.core.QuickInfoSupporter
        Returns:
        null if no info available, otherwise short string
      • accepts

        public abstract Class[] accepts()
        Returns the classes the action accepts as input.
        Returns:
        the classes
      • generates

        public abstract Class generates()
        Returns the classes the action generates as output.
        Returns:
        the classes
      • check

        public String check​(RedisConnection connection,
                            Object o)
        For checking the state before executing the action.
        Parameters:
        connection - the Redis connection
        o - the object to process
        Returns:
        null if successful, otherwise error message
      • doExecute

        protected abstract Object doExecute​(RedisConnection connection,
                                            Object o,
                                            adams.core.MessageCollection errors)
        Performs the action.
        Parameters:
        connection - the Redis connection
        o - the object to process
        errors - for collecting errors
        Returns:
        the generated object
      • execute

        public Object execute​(RedisConnection connection,
                              Object o,
                              adams.core.MessageCollection errors)
        Performs the action on the specified object.
        Parameters:
        connection - the Redis connection
        o - the object to process
        errors - for collecting errors
        Returns:
        the generated object
      • isStopped

        public boolean isStopped()
        Whether the execution has been stopped.
        Specified by:
        isStopped in interface adams.core.StoppableWithFeedback
        Returns:
        true if stopped
      • stopExecution

        public void stopExecution()
        Stops the execution.
        Specified by:
        stopExecution in interface adams.core.Stoppable