Package adams.flow.standalone.rats.input
Class DeQueue
- 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.DeQueue
-
- 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
,adams.flow.control.StorageUpdater
,RatInput
,Serializable
public class DeQueue extends AbstractRatInput implements adams.flow.control.StorageUpdater
Polls the specified queue in internal storage for an item, blocks till an item is available.
-logging-level <OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST> (property: loggingLevel) The logging level for outputting errors and debugging output. default: WARNING
-storage-name <adams.flow.control.StorageName> (property: storageName) The name of the queue in the internal storage. default: queue
- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected Object
m_Output
the item obtained from the queue.protected int
m_PollTimeout
the internal timeout interval for polling the queue in msec.protected adams.flow.control.StorageQueueHandler
m_Queue
the current queue.protected adams.flow.control.StorageName
m_StorageName
the name of the queue in the internal storage.-
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 DeQueue()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
defineOptions()
Adds options to the internal list of options.protected String
doReceive()
Performs the actual reception of data.Class
generates()
Returns the type of data this scheme generates.String
getQuickInfo()
Returns a quick info about the actor, which will be displayed in the GUI.adams.flow.control.StorageName
getStorageName()
Returns the name for the queue in the internal storage.String
globalInfo()
Returns a string describing the object.boolean
hasPendingOutput()
Checks whether any output can be collected.protected void
initialize()
Initializes the members.String
initReception()
Initializes the reception.boolean
isUpdatingStorage()
Returns whether storage items are being updated.Object
output()
Returns the received data.protected Object
poll(adams.flow.control.StorageQueueHandler queue)
Waits for the next data object, polling the queue.void
setStorageName(adams.flow.control.StorageName value)
Sets the name for the queue in the internal storage.void
stopExecution()
Stops the execution.String
storageNameTipText()
Returns the tip text for this property.-
Methods inherited from class adams.flow.standalone.rats.input.AbstractRatInput
canReceive, check, cleanUp, configureLogger, doWait, getAdditionalInformation, getFullName, getOwner, getQueue, getReceptionInterrupted, handleException, interruptReception, isReceptionRunning, isStopped, receive, setOwner, setUp, 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
-
-
-
-
Field Detail
-
m_StorageName
protected adams.flow.control.StorageName m_StorageName
the name of the queue in the internal storage.
-
m_Output
protected Object m_Output
the item obtained from the queue.
-
m_PollTimeout
protected int m_PollTimeout
the internal timeout interval for polling the queue in msec.
-
m_Queue
protected transient adams.flow.control.StorageQueueHandler m_Queue
the current queue.
-
-
Method Detail
-
globalInfo
public String globalInfo()
Returns a string describing the object.- Specified by:
globalInfo
in interfaceadams.core.GlobalInfoSupporter
- Specified by:
globalInfo
in 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:
defineOptions
in interfaceadams.core.option.OptionHandler
- Overrides:
defineOptions
in classadams.core.option.AbstractOptionHandler
-
initialize
protected void initialize()
Initializes the members.- Overrides:
initialize
in classAbstractRatInput
-
setStorageName
public void setStorageName(adams.flow.control.StorageName value)
Sets the name for the queue in the internal storage.- Parameters:
value
- the name
-
getStorageName
public adams.flow.control.StorageName getStorageName()
Returns the name for the queue 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.
-
isUpdatingStorage
public boolean isUpdatingStorage()
Returns whether storage items are being updated.- Specified by:
isUpdatingStorage
in interfaceadams.flow.control.StorageUpdater
- Returns:
- true if storage items are updated
-
getQuickInfo
public String getQuickInfo()
Returns a quick info about the actor, which will be displayed in the GUI.- Specified by:
getQuickInfo
in interfaceadams.core.QuickInfoSupporter
- Overrides:
getQuickInfo
in classAbstractRatInput
- Returns:
- null if no info available, otherwise short string
-
generates
public Class generates()
Returns the type of data this scheme generates.- Specified by:
generates
in interfaceRatInput
- Specified by:
generates
in classAbstractRatInput
- Returns:
- the type of data
-
initReception
public String initReception()
Initializes the reception.- Specified by:
initReception
in interfaceRatInput
- Overrides:
initReception
in classAbstractRatInput
- Returns:
- null if successfully initialized, otherwise error message
-
poll
protected Object poll(adams.flow.control.StorageQueueHandler queue)
Waits for the next data object, polling the queue.- Returns:
- the data, null if none available (eg when stopped)
-
doReceive
protected String doReceive()
Performs the actual reception of data.- Specified by:
doReceive
in classAbstractRatInput
- Returns:
- null if successful, otherwise error message
-
hasPendingOutput
public boolean hasPendingOutput()
Checks whether any output can be collected.- Specified by:
hasPendingOutput
in interfaceRatInput
- Specified by:
hasPendingOutput
in classAbstractRatInput
- Returns:
- true if output available
-
output
public Object output()
Returns the received data.- Specified by:
output
in interfaceRatInput
- Specified by:
output
in classAbstractRatInput
- Returns:
- the data
-
stopExecution
public void stopExecution()
Stops the execution.- Specified by:
stopExecution
in interfaceRatInput
- Specified by:
stopExecution
in interfaceadams.core.Stoppable
- Overrides:
stopExecution
in classAbstractRatInput
-
-