Package org.opentcs.drivers.peripherals
Class BasicPeripheralCommAdapter
java.lang.Object
org.opentcs.drivers.peripherals.BasicPeripheralCommAdapter
- All Implemented Interfaces:
Lifecycle,PeripheralCommAdapter
public abstract class BasicPeripheralCommAdapter extends java.lang.Object implements PeripheralCommAdapter
A base class for peripheral communication adapters mainly providing command queue processing.
-
Constructor Summary
Constructors Constructor Description BasicPeripheralCommAdapter(PeripheralProcessModel processModel, EventHandler eventHandler)Creates a new instance. -
Method Summary
Modifier and Type Method Description voidabortJob()Aborts the current job, if any.protected abstract voidconnectPeripheral()Initiates a communication channel to the peripheral device.voiddisable()Disables this comm adapter, i.e.protected abstract voiddisconnectPeripheral()Closes the communication channel to the peripheral device.voidenable()Enables this comm adapter, i.e.protected EventHandlergetEventHandler()PeripheralProcessModelgetProcessModel()Returns a model of the peripheral device's and its communication adapter's attributes.voidinitialize()(Re-)Initializes this component before it is being used.booleanisEnabled()Checks whether this communication adapter is enabled.booleanisInitialized()Checks whether this component is initialized.protected voidsendProcessModelChangedEvent(PeripheralProcessModel.Attribute attributeChanged)protected voidsetProcessModel(PeripheralProcessModel processModel)voidterminate()Terminates the instance and frees resources.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.opentcs.drivers.peripherals.PeripheralCommAdapter
canProcess, execute, process
-
Constructor Details
-
BasicPeripheralCommAdapter
Creates a new instance.- Parameters:
processModel- A model of the peripheral device's and its communication adapter's attributes.eventHandler- The handler used to send events to.
-
-
Method Details
-
initialize
public void initialize()(Re-)Initializes this component before it is being used.Overriding methods are expected to call this implementation, too.
- Specified by:
initializein interfaceLifecycle
-
isInitialized
public boolean isInitialized()Description copied from interface:LifecycleChecks whether this component is initialized.- Specified by:
isInitializedin interfaceLifecycle- Returns:
trueif, and only if, this component is initialized.
-
terminate
public void terminate()Terminates the instance and frees resources.Overriding methods are expected to call this implementation, too.
-
enable
public void enable()Enables this comm adapter, i.e. turns it on.Overriding methods are expected to call this implementation, too.
- Specified by:
enablein interfacePeripheralCommAdapter
-
isEnabled
public boolean isEnabled()Description copied from interface:PeripheralCommAdapterChecks whether this communication adapter is enabled.- Specified by:
isEnabledin interfacePeripheralCommAdapter- Returns:
trueif, and only if, this communication adapter is enabled.
-
disable
public void disable()Disables this comm adapter, i.e. turns it off.Overriding methods are expected to call this implementation, too.
- Specified by:
disablein interfacePeripheralCommAdapter
-
getProcessModel
Description copied from interface:PeripheralCommAdapterReturns a model of the peripheral device's and its communication adapter's attributes.- Specified by:
getProcessModelin interfacePeripheralCommAdapter- Returns:
- A model of the peripheral device's and its communication adapter's attributes.
-
abortJob
Description copied from interface:PeripheralCommAdapterAborts the current job, if any.Whether a job can actually be aborted depends on the actual peripheral/job semantics. The callback for the current job may still be called to indicate the job has failed, but it is not strictly expected to. The kernel will ignore calls to the callback after calling this method.
- Specified by:
abortJobin interfacePeripheralCommAdapter
-
setProcessModel
-
getEventHandler
-
sendProcessModelChangedEvent
-
connectPeripheral
protected abstract void connectPeripheral()Initiates a communication channel to the peripheral device. This method should not block, i.e. it should not wait for the actual connection to be established, as the peripheral device could be temporarily absent or not responding at all. If that's the case, the communication adapter should continue trying to establish a connection until successful or untildisconnectPeripheral()is called. -
disconnectPeripheral
protected abstract void disconnectPeripheral()Closes the communication channel to the peripheral device.
-