Class Subscribe

  • 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.event.PublicationListener, adams.flow.control.StorageUpdater, BufferedRatInput, RatInput, Serializable

    public class Subscribe
    extends AbstractBufferedRatInput
    implements adams.flow.control.StorageUpdater, adams.event.PublicationListener
    Subscribes to the specified publish/subscribe handler and forwards data that is being published.

    -logging-level <OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST> (property: loggingLevel)
        The logging level for outputting errors and debugging output.
        default: WARNING
     
    -max-buffer <int> (property: maxBuffer)
        The maximum number of items to buffer.
        default: 65535
        minimum: 1
     
    -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 Detail

      • m_StorageName

        protected adams.flow.control.StorageName m_StorageName
        the name of the queue in the internal storage.
      • m_Handler

        protected transient adams.core.PublishSubscribeHandler m_Handler
        the pub/sub handler.
    • Constructor Detail

      • Subscribe

        public Subscribe()
    • Method Detail

      • globalInfo

        public String globalInfo()
        Returns a string describing the object.
        Specified by:
        globalInfo in interface adams.core.GlobalInfoSupporter
        Specified by:
        globalInfo in class adams.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 interface adams.core.option.OptionHandler
        Overrides:
        defineOptions in class AbstractBufferedRatInput
      • 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 interface adams.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 interface adams.core.QuickInfoSupporter
        Overrides:
        getQuickInfo in class AbstractRatInput
        Returns:
        null if no info available, otherwise short string
      • dataPublished

        public void dataPublished​(adams.event.PublicationEvent e)
        Gets called when data is being published.
        Specified by:
        dataPublished in interface adams.event.PublicationListener
        Parameters:
        e - the data event
      • doReceive

        protected String doReceive()
        Performs the actual reception of data.
        Specified by:
        doReceive in class AbstractRatInput
        Returns:
        null if successful, otherwise error message
      • cleanUp

        public void cleanUp()
        Cleans up data structures, frees up memory.
        Specified by:
        cleanUp in interface adams.core.CleanUpHandler
        Overrides:
        cleanUp in class AbstractBufferedRatInput