public abstract class LowLevelDataPipe
extends java.lang.Object
Empfängt Daten von einem Objekt in einem Datenverteiler und sendet diese an das gleiche oder ein anderes Objekt (vorzugsweise auf einem anderen Datenverteiler), evtl. unter Benutzung einer anderen Attributgruppe und eines anderen Aspekts sowie unter Zuhilfenahme eines Plugins, das die Daten gegebenenfalls anpasst, falls z.B. unterschiedliche Attributgruppen vorliegen.
Modifier and Type | Class and Description |
---|---|
private class |
LowLevelDataPipe.MyReceiver |
private class |
LowLevelDataPipe.MySender |
Modifier and Type | Field and Description |
---|---|
protected java.lang.String |
_aspSource |
protected java.lang.String |
_aspTarget |
protected java.lang.String |
_atgSource |
protected java.lang.String |
_atgTarget |
protected boolean |
_hasReceiver |
protected boolean |
_hasSender |
protected ManagerInterface |
_manager |
protected ObjectManagerInterface |
_objectManagerInterface |
protected KExDaVDataPlugin |
_plugin |
protected DataTransferPolicy |
_policy |
protected ReceiveOptions |
_receiveOptions |
protected KExDaVReceiver |
_receiver |
protected ReceiverRole |
_receiverRole |
protected KExDaVSender |
_sender |
protected SenderRole |
_senderRole |
protected short |
_simulationVariantSource |
protected short |
_simulationVariantTarget |
protected KExDaVObject |
_source |
protected boolean |
_stopOnNextData |
protected KExDaVObject |
_target |
Modifier | Constructor and Description |
---|---|
protected |
LowLevelDataPipe(ManagerInterface manager,
java.lang.String aspTarget,
ObjectManagerInterface objectManagerInterface,
java.lang.String atgSource,
KExDaVObject target,
short simulationVariantTarget,
java.lang.String atgTarget,
short simulationVariantSource,
java.lang.String aspSource,
KExDaVDataPlugin plugin,
ReceiverRole receiverRole,
SenderRole senderRole,
ReceiveOptions receiveOptions,
KExDaVObject source) |
Modifier and Type | Method and Description |
---|---|
static LowLevelDataPipe |
createLowLevelDataPipe(KExDaVObject source,
KExDaVObject target,
java.lang.String atgSource,
java.lang.String atgTarget,
java.lang.String aspSource,
java.lang.String aspTarget,
short simulationVariantSource,
short simulationVariantTarget,
ReceiveOptions receiveOptions,
ReceiverRole receiverRole,
SenderRole senderRole,
KExDaVDataPlugin plugin,
ObjectManagerInterface objectManagerInterface,
ManagerInterface manager)
Erstellt eine Datenverbindungsklasse
|
boolean |
equals(java.lang.Object o) |
int |
hashCode() |
(package private) abstract void |
sendDataToReceiver(KExDaVAttributeGroupData sourceData,
DataState dataState,
long dataTime,
boolean delayed)
Sendet die Daten weiter an den Empfänger.
|
void |
setPolicy(DataTransferPolicy policy)
Setzt das Austauschverfahren (sinnvollerweise zu setzen, bevor der Datenaustausch gestartet wird)
|
abstract void |
start()
Startet den Datentransfer
|
void |
startOneTime()
Führt nur einen Datenaustausch durch
|
void |
stop()
Stoppt den Datentransfer
|
java.lang.String |
toString() |
protected abstract void |
updateSendControl(byte state) |
protected final KExDaVObject _source
protected final KExDaVObject _target
protected final java.lang.String _atgSource
protected final java.lang.String _atgTarget
protected final java.lang.String _aspSource
protected final java.lang.String _aspTarget
protected final short _simulationVariantSource
protected final short _simulationVariantTarget
protected final ReceiveOptions _receiveOptions
protected final KExDaVDataPlugin _plugin
protected final ReceiverRole _receiverRole
protected final SenderRole _senderRole
protected final ObjectManagerInterface _objectManagerInterface
protected final ManagerInterface _manager
protected final KExDaVReceiver _receiver
protected final KExDaVSender _sender
protected DataTransferPolicy _policy
protected volatile boolean _hasSender
protected volatile boolean _hasReceiver
protected volatile boolean _stopOnNextData
protected LowLevelDataPipe(ManagerInterface manager, java.lang.String aspTarget, ObjectManagerInterface objectManagerInterface, java.lang.String atgSource, KExDaVObject target, short simulationVariantTarget, java.lang.String atgTarget, short simulationVariantSource, java.lang.String aspSource, KExDaVDataPlugin plugin, ReceiverRole receiverRole, SenderRole senderRole, ReceiveOptions receiveOptions, KExDaVObject source)
public static LowLevelDataPipe createLowLevelDataPipe(KExDaVObject source, KExDaVObject target, java.lang.String atgSource, java.lang.String atgTarget, java.lang.String aspSource, java.lang.String aspTarget, short simulationVariantSource, short simulationVariantTarget, ReceiveOptions receiveOptions, ReceiverRole receiverRole, SenderRole senderRole, KExDaVDataPlugin plugin, ObjectManagerInterface objectManagerInterface, ManagerInterface manager)
Erstellt eine Datenverbindungsklasse
source
- Quell-Objekttarget
- Ziel-ObjektatgSource
- Quell-AtgatgTarget
- Ziel-AtgaspSource
- Quell-AspektaspTarget
- Ziel-AspektsimulationVariantSource
- Quell-SimulationsvariantesimulationVariantTarget
- Ziel-SimulationsvariantereceiveOptions
- Nur geänderte Daten übertragen?receiverRole
- Art der Anmeldung im QuellsystemsenderRole
- Art der Anmeldung im Zielsystemplugin
- Modul, das das Kopieren und gegebenenfalls anpassen der Daten übernimmt. Im einfachsten Fall eine Instanz des BasicKExDaVDataPlugin
.objectManagerInterface
- Verwaltung korrespondierender Objekte (optional)manager
- Callback für Ereignisse und Warnungenpublic void setPolicy(DataTransferPolicy policy)
Setzt das Austauschverfahren (sinnvollerweise zu setzen, bevor der Datenaustausch gestartet wird)
policy
- Austauschverfahrenpublic abstract void start()
Startet den Datentransfer
public void stop()
Stoppt den Datentransfer
public void startOneTime()
Führt nur einen Datenaustausch durch
abstract void sendDataToReceiver(KExDaVAttributeGroupData sourceData, DataState dataState, long dataTime, boolean delayed)
Sendet die Daten weiter an den Empfänger. Wird von der _policy
aufgerufen.
sourceData
- DatendataState
- DatenzustanddataTime
- Datenzeitdelayed
- true
, wenn der im Ergebnis enthaltene Datensatz als nachgeliefert gekennzeichnet werden soll.public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object
protected abstract void updateSendControl(byte state)