Class MaxQueueSize
- java.lang.Object
-
- adams.core.logging.LoggingObject
-
- adams.core.logging.CustomLoggingLevelObject
-
- adams.core.option.AbstractOptionHandler
-
- adams.flow.standalone.rats.output.enqueue.AbstractEnqueueGuard
-
- adams.flow.standalone.rats.output.enqueue.MaxQueueSize
-
- All Implemented Interfaces:
adams.core.Destroyable,adams.core.GlobalInfoSupporter,adams.core.logging.LoggingLevelHandler,adams.core.logging.LoggingSupporter,adams.core.option.OptionHandler,adams.core.SizeOfHandler,adams.core.Stoppable,adams.core.StoppableWithFeedback,Serializable
public class MaxQueueSize extends AbstractEnqueueGuard
Ensures that the queue doesn't exceed the specified size; waits till the queue can accept data again.- Author:
- FracPete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected intm_Limitthe limit for the queue.protected intm_Waitthe time in msec to wait between checks.-
Fields inherited from class adams.flow.standalone.rats.output.enqueue.AbstractEnqueueGuard
m_Stopped
-
-
Constructor Summary
Constructors Constructor Description MaxQueueSize()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddefineOptions()Adds options to the internal list of options.protected StringdoEnqueue(adams.flow.control.StorageQueueHandler handler, Object input, long retrievalDelay)Enqueues the object if possible.intgetLimit()Returns the maximum allowed queue size.intgetWait()Returns the time to wait between checks.StringglobalInfo()Returns a string describing the object.StringlimitTipText()Returns the tip text for this property.voidsetLimit(int value)Sets the maximum allowed queue size.voidsetWait(int value)Sets the time to wait between checks.StringwaitTipText()Returns the tip text for this property.-
Methods inherited from class adams.flow.standalone.rats.output.enqueue.AbstractEnqueueGuard
enqueue, enqueue, isStopped, stopExecution
-
Methods inherited from class adams.core.option.AbstractOptionHandler
cleanUpOptions, destroy, finishInit, getDefaultLoggingLevel, getOptionManager, initialize, loggingLevelTipText, newOptionManager, reset, setLoggingLevel, toCommandLine, toString
-
Methods inherited from class adams.core.logging.LoggingObject
configureLogger, getLogger, getLoggingLevel, initializeLogging, isLoggingEnabled, sizeOf
-
-
-
-
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 classadams.core.option.AbstractOptionHandler
-
setLimit
public void setLimit(int value)
Sets the maximum allowed queue size.- Parameters:
value- the limit, <1 for unlimited
-
getLimit
public int getLimit()
Returns the maximum allowed queue size.- Returns:
- the limit <0 for unlimited
-
limitTipText
public String limitTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setWait
public void setWait(int value)
Sets the time to wait between checks.- Parameters:
value- the time (msec)
-
getWait
public int getWait()
Returns the time to wait between checks.- Returns:
- the time (msec)
-
waitTipText
public String waitTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
doEnqueue
protected String doEnqueue(adams.flow.control.StorageQueueHandler handler, Object input, long retrievalDelay)
Enqueues the object if possible.- Specified by:
doEnqueuein classAbstractEnqueueGuard- Parameters:
handler- the queue to useinput- the data to queueretrievalDelay- the retrieval delay to impose- Returns:
- null if successful, otherwise error message
-
-