Package adams.flow.standalone.rats.input
Class RedisSubscribe
- java.lang.Object
-
- adams.core.logging.LoggingObject
-
- adams.core.logging.CustomLoggingLevelObject
-
- adams.core.option.AbstractOptionHandler
-
- adams.flow.standalone.rats.input.AbstractRatInput
-
- adams.flow.standalone.rats.input.AbstractBufferedRatInput
-
- adams.flow.standalone.rats.input.RedisSubscribe
-
- All Implemented Interfaces:
adams.core.AdditionalInformationHandler,adams.core.CleanUpHandler,adams.core.Destroyable,adams.core.GlobalInfoSupporter,adams.core.logging.LoggingLevelHandler,adams.core.logging.LoggingSupporter,adams.core.option.OptionHandler,adams.core.QuickInfoSupporter,adams.core.ShallowCopySupporter<AbstractRatInput>,adams.core.SizeOfHandler,adams.core.Stoppable,adams.core.StoppableWithFeedback,BufferedRatInput,RatInput,Serializable
public class RedisSubscribe extends AbstractBufferedRatInput
Executes the specified Redis channel.- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected Stringm_Channelthe name of the channel to subscribe to.protected RedisConnectionm_Connectionthe redis connection to use.protected io.lettuce.core.pubsub.StatefulRedisPubSubConnectionm_PubSubConnectionthe pub/sub connection object.protected io.lettuce.core.pubsub.RedisPubSubListenerm_PubSubListenerthe pub/sub listener.protected RedisDataTypem_Typethe data type.-
Fields inherited from class adams.flow.standalone.rats.input.AbstractBufferedRatInput
m_Buffer, m_Current, m_MaxBuffer, m_PollTimeout
-
Fields inherited from class adams.flow.standalone.rats.input.AbstractRatInput
m_LoggingPrefix, m_Owner, m_ReceptionInterrupted, m_ReceptionRunning, m_Stopped
-
-
Constructor Summary
Constructors Constructor Description RedisSubscribe()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StringchannelTipText()Returns the tip text for this property.voidcleanUp()Cleans up data structures, frees up memory.protected voidcleanUpRedis()Cleans up the Redis data structures.voiddefineOptions()Adds options to the internal list of options.protected StringdoReceive()Performs the actual reception of data.Classgenerates()Returns the type of data this scheme generates.StringgetChannel()Returns the name of the channel.StringgetQuickInfo()Returns a quick info about the actor, which will be displayed in the GUI.RedisDataTypegetType()Returns the type of the data.StringglobalInfo()Returns a string describing the object.StringinitReception()Initializes the reception.protected io.lettuce.core.pubsub.RedisPubSubListener<byte[],byte[]>newBytesListener()Returns a new pub/sub listener for byte arrays.protected io.lettuce.core.pubsub.RedisPubSubListener<String,String>newStringListener()Returns a new pub/sub listener for strings.voidsetChannel(String value)Sets the name of the channel.voidsetType(RedisDataType value)Sets the type of the data.StringsetUp()Hook method for performing checks at setup time.voidstopExecution()Stops the execution.StringtypeTipText()Returns the tip text for this property.-
Methods inherited from class adams.flow.standalone.rats.input.AbstractBufferedRatInput
bufferData, getDefaultMaxBuffer, getMaxBuffer, hasPendingOutput, initialize, maxBufferTipText, output, poll, setMaxBuffer
-
Methods inherited from class adams.flow.standalone.rats.input.AbstractRatInput
canReceive, check, configureLogger, doWait, getAdditionalInformation, getFullName, getOwner, getQueue, getReceptionInterrupted, handleException, interruptReception, isReceptionRunning, isStopped, receive, setOwner, shallowCopy, shallowCopy, updatePrefix
-
Methods inherited from class adams.core.option.AbstractOptionHandler
cleanUpOptions, destroy, finishInit, getDefaultLoggingLevel, getOptionManager, loggingLevelTipText, newOptionManager, reset, setLoggingLevel, toCommandLine, toString
-
Methods inherited from class adams.core.logging.LoggingObject
getLogger, getLoggingLevel, initializeLogging, isLoggingEnabled, sizeOf
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface adams.core.option.OptionHandler
cleanUpOptions, getOptionManager, toCommandLine
-
Methods inherited from interface adams.flow.standalone.rats.input.RatInput
getFullName, getOwner, getReceptionInterrupted, interruptReception, isReceptionRunning, isStopped, receive, setOwner
-
-
-
-
Field Detail
-
m_Channel
protected String m_Channel
the name of the channel to subscribe to.
-
m_Type
protected RedisDataType m_Type
the data type.
-
m_Connection
protected transient RedisConnection m_Connection
the redis connection to use.
-
m_PubSubConnection
protected transient io.lettuce.core.pubsub.StatefulRedisPubSubConnection m_PubSubConnection
the pub/sub connection object.
-
m_PubSubListener
protected transient io.lettuce.core.pubsub.RedisPubSubListener m_PubSubListener
the pub/sub listener.
-
-
Method Detail
-
globalInfo
public String globalInfo()
Returns a string describing the object.- Specified by:
globalInfoin interfaceadams.core.GlobalInfoSupporter- Specified by:
globalInfoin classadams.core.option.AbstractOptionHandler- Returns:
- a description suitable for displaying in the gui
-
defineOptions
public void defineOptions()
Adds options to the internal list of options.- Specified by:
defineOptionsin interfaceadams.core.option.OptionHandler- Overrides:
defineOptionsin classAbstractBufferedRatInput
-
setChannel
public void setChannel(String value)
Sets the name of the channel.- Parameters:
value- the name
-
getChannel
public String getChannel()
Returns the name of the channel.- Returns:
- the name
-
channelTipText
public String channelTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setType
public void setType(RedisDataType value)
Sets the type of the data.- Parameters:
value- the type
-
getType
public RedisDataType getType()
Returns the type of the data.- Returns:
- the type
-
typeTipText
public String typeTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
getQuickInfo
public String getQuickInfo()
Returns a quick info about the actor, which will be displayed in the GUI.- Specified by:
getQuickInfoin interfaceadams.core.QuickInfoSupporter- Overrides:
getQuickInfoin classAbstractRatInput- Returns:
- null if no info available, otherwise short string
-
generates
public Class generates()
Returns the type of data this scheme generates.- Specified by:
generatesin interfaceRatInput- Specified by:
generatesin classAbstractRatInput- Returns:
- the type of data
-
newStringListener
protected io.lettuce.core.pubsub.RedisPubSubListener<String,String> newStringListener()
Returns a new pub/sub listener for strings.- Returns:
- the listener
-
newBytesListener
protected io.lettuce.core.pubsub.RedisPubSubListener<byte[],byte[]> newBytesListener()
Returns a new pub/sub listener for byte arrays.- Returns:
- the listener
-
setUp
public String setUp()
Hook method for performing checks at setup time.- Specified by:
setUpin interfaceRatInput- Overrides:
setUpin classAbstractBufferedRatInput- Returns:
- null if successful, otherwise error message
-
initReception
public String initReception()
Initializes the reception.- Specified by:
initReceptionin interfaceRatInput- Overrides:
initReceptionin classAbstractRatInput- Returns:
- null if successfully initialized, otherwise error message
-
doReceive
protected String doReceive()
Performs the actual reception of data.- Specified by:
doReceivein classAbstractRatInput- Returns:
- null if successful, otherwise error message
-
cleanUpRedis
protected void cleanUpRedis()
Cleans up the Redis data structures.
-
stopExecution
public void stopExecution()
Stops the execution.- Specified by:
stopExecutionin interfaceRatInput- Specified by:
stopExecutionin interfaceadams.core.Stoppable- Overrides:
stopExecutionin classAbstractBufferedRatInput
-
cleanUp
public void cleanUp()
Cleans up data structures, frees up memory.- Specified by:
cleanUpin interfaceadams.core.CleanUpHandler- Overrides:
cleanUpin classAbstractBufferedRatInput
-
-