Package org.bidib.jbidibc.serial
Class AbstractSerialBidib
- java.lang.Object
-
- org.bidib.jbidibc.core.AbstractBidib<org.bidib.jbidibc.messages.MessageReceiver>
-
- org.bidib.jbidibc.serial.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 Summary
Fields Modifier and Type Field Description protected SemaphoreportSemaphoreprotected ObjectreceiveLockprotected StringrequestedPortName-
Fields inherited from class org.bidib.jbidibc.core.AbstractBidib
serviceWorker
-
Fields inherited from interface org.bidib.jbidibc.core.BidibInterface
DEFAULT_TIMEOUT
-
-
Constructor Summary
Constructors Constructor Description AbstractSerialBidib()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected voidcleanupAfterClose(org.bidib.jbidibc.messages.MessageReceiver bidibMessageProcessor)protected intcontactInterface()Contact the interface and get the magicprotected SerialMessageReceivercreateMessageReceiver(NodeRegistry nodeRegistry, org.bidib.jbidibc.messages.base.RawMessageListener rawMessageListener, org.bidib.jbidibc.messages.helpers.Context context)protected abstract org.bidib.jbidibc.messages.base.AbstractBaseBidib<org.bidib.jbidibc.messages.MessageReceiver>getConnector()protected booleanhasMoreRetryAvailable()protected abstract voidinternalOpen(String portName, org.bidib.jbidibc.messages.helpers.Context context)protected abstract booleanisImplAvaiable()abstract booleanisOpened()protected voidnotifyStatusKey(String messageKey, org.bidib.jbidibc.messages.helpers.Context context)voidopen(String portName, org.bidib.jbidibc.messages.ConnectionListener connectionListener, Set<NodeListener> nodeListeners, Set<MessageListener> messageListeners, Set<TransferListener> transferListeners, org.bidib.jbidibc.messages.helpers.Context context)voidsetDelayAfterSend(long delay)-
Methods inherited from class org.bidib.jbidibc.core.AbstractBidib
addRawMessageListener, attach, close, createRequestFactory, detach, findNode, fireConnectionClosed, fireConnectionOpened, fireCtsChanged, fireNotifyReceivedRawMessage, fireNotifySendRawMessage, fireReceiveStarted, fireReceiveStopped, fireSendStarted, fireSendStopped, getAccessoryNode, getBidibMessageProcessor, getBoosterNode, getCommandStationNode, getConnectionListener, getFirmwarePacketTimeout, getInterfaceNode, getMessageReceiver, getNode, getNodeRegistry, getRequestFactory, getResponseTimeout, getRootNode, initialize, initializeConnector, isValidCoreNode, registerListeners, releaseRootNode, releaseSubNodesOfRootNode, removeRawMessageListener, setConnectionListener, setFirmwarePacketTimeout, setIgnoreWaitTimeout, setResponseTimeout, signalUserAction, terminateAllNodes
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.bidib.jbidibc.core.BidibInterface
getPortIdentifiers, send
-
-
-
-
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:
createMessageReceiverin classAbstractBidib<org.bidib.jbidibc.messages.MessageReceiver>
-
cleanupAfterClose
protected void cleanupAfterClose(org.bidib.jbidibc.messages.MessageReceiver bidibMessageProcessor)
- Overrides:
cleanupAfterClosein classAbstractBidib<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.PortNotFoundExceptionorg.bidib.jbidibc.messages.exception.PortNotOpenedException
-
hasMoreRetryAvailable
protected boolean hasMoreRetryAvailable()
- Overrides:
hasMoreRetryAvailablein classAbstractBidib<org.bidib.jbidibc.messages.MessageReceiver>
-
isOpened
public abstract boolean isOpened()
-
contactInterface
protected int contactInterface()
Contact the interface and get the magic- Specified by:
contactInterfacein classAbstractBidib<org.bidib.jbidibc.messages.MessageReceiver>- Returns:
- the magic
-
-