Class AbstractSerialBidib

  • All Implemented Interfaces:
    BidibInterface

    public abstract class AbstractSerialBidib
    extends AbstractBidib<org.bidib.jbidibc.messages.MessageReceiver>
    This is the abstract serial bidib implementation. It creates and initializes the MessageReceiver and the NodeFactory that is used in the system.
    • Field Detail

      • portSemaphore

        protected Semaphore portSemaphore
      • requestedPortName

        protected String requestedPortName
      • receiveLock

        protected Object receiveLock
    • Constructor Detail

      • AbstractSerialBidib

        public AbstractSerialBidib()
    • Method Detail

      • setDelayAfterSend

        public void setDelayAfterSend​(long delay)
      • getConnector

        protected abstract org.bidib.jbidibc.messages.base.AbstractBaseBidib<org.bidib.jbidibc.messages.MessageReceiver> getConnector()
      • createMessageReceiver

        protected SerialMessageReceiver createMessageReceiver​(NodeRegistry nodeRegistry,
                                                              org.bidib.jbidibc.messages.base.RawMessageListener rawMessageListener,
                                                              org.bidib.jbidibc.messages.helpers.Context context)
        Specified by:
        createMessageReceiver in class AbstractBidib<org.bidib.jbidibc.messages.MessageReceiver>
      • cleanupAfterClose

        protected void cleanupAfterClose​(org.bidib.jbidibc.messages.MessageReceiver bidibMessageProcessor)
        Overrides:
        cleanupAfterClose in class AbstractBidib<org.bidib.jbidibc.messages.MessageReceiver>
      • isImplAvaiable

        protected abstract boolean isImplAvaiable()
      • internalOpen

        protected abstract void internalOpen​(String portName,
                                             org.bidib.jbidibc.messages.helpers.Context context)
                                      throws Exception
        Throws:
        Exception
      • notifyStatusKey

        protected void notifyStatusKey​(String messageKey,
                                       org.bidib.jbidibc.messages.helpers.Context context)
        Parameters:
        messageKey - the message key to notify
      • open

        public void open​(String portName,
                         org.bidib.jbidibc.messages.ConnectionListener connectionListener,
                         Set<NodeListener> nodeListeners,
                         Set<MessageListener> messageListeners,
                         Set<TransferListener> transferListeners,
                         org.bidib.jbidibc.messages.helpers.Context context)
                  throws org.bidib.jbidibc.messages.exception.PortNotFoundException,
                         org.bidib.jbidibc.messages.exception.PortNotOpenedException
        Throws:
        org.bidib.jbidibc.messages.exception.PortNotFoundException
        org.bidib.jbidibc.messages.exception.PortNotOpenedException
      • isOpened

        public abstract boolean isOpened()
      • contactInterface

        protected int contactInterface()
        Contact the interface and get the magic
        Specified by:
        contactInterface in class AbstractBidib<org.bidib.jbidibc.messages.MessageReceiver>
        Returns:
        the magic