Interface ProtocolAdapter<O,I,CO,CI>
- Type Parameters:
O- the output type from the underlying machine/platformI- the input type to the underlying machine/platformCO- the output type of the connectorCI- the input type of the connector
- All Known Subinterfaces:
ChannelProtocolAdapter<O,I, CO, CI>
- All Known Implementing Classes:
AbstractProtocolAdapter,ChannelTranslatingProtocolAdapter,TranslatingProtocolAdapter
public interface ProtocolAdapter<O,I,CO,CI>
Adapts a protocol from/to an underlying machine/platform.
- Author:
- Holger Eichelberger, SSE
-
Method Summary
Modifier and TypeMethodDescriptionadaptInput(CI data) Adapts the input from the IIP-Ecosphere platform to the underlying machine/platform.adaptOutput(String channel, O data) Adapts the output from the underlying machine/platform to the IIP-Ecosphere platform.Returns the input type from the IIP-Ecosphere platform.Returns the output type to the IIP-Ecosphere platform.Returns the instance abstracting the access to the underlying model.Returns the input type to the protocol.Returns the output type of the protocol.voidCalled to initialize the model access, e.g., to setup notifications.voidsetModelAccess(ModelAccess modelAccess) Defines the model access.
-
Method Details
-
adaptInput
Adapts the input from the IIP-Ecosphere platform to the underlying machine/platform.- Parameters:
data- the data to be adapted- Returns:
- the adapted data
- Throws:
IOException- in case that the adaptation fails
-
adaptOutput
Adapts the output from the underlying machine/platform to the IIP-Ecosphere platform.- Parameters:
channel- the channel the data was receiveddata- the data to be adapted- Returns:
- the adapted data
- Throws:
IOException- in case that the adaptation fails
-
getProtocolInputType
Returns the input type to the protocol.- Returns:
- the input type (may be null in case of generic types, but shall not be null)
-
getConnectorInputType
Returns the input type from the IIP-Ecosphere platform.- Returns:
- the input type (may be null in case of generic types, but shall not be null)
-
getProtocolOutputType
Returns the output type of the protocol.- Returns:
- the output type (may be null in case of generic types, but shall not be null)
-
getConnectorOutputType
Returns the output type to the IIP-Ecosphere platform.- Returns:
- the output type (may be null in case of generic types, but shall not be null)
-
getModelAccess
ModelAccess getModelAccess()Returns the instance abstracting the access to the underlying model.- Returns:
- the instance, may be null if
MachineConnector.hasModel()isfalse
-
setModelAccess
Defines the model access. Handle with care, shall be called by connector only.- Parameters:
modelAccess- the model access
-
initializeModelAccess
Called to initialize the model access, e.g., to setup notifications. Called only, when the connector is connected.- Throws:
IOException- in case the initialization fails, e.g., monitors cannot be set up
-