public class TransactionManager extends Object implements Transactions
Modifier and Type | Class and Description |
---|---|
private class |
TransactionManager.TransactionReceiver |
Modifier and Type | Field and Description |
---|---|
private Map<TransactionDataDescription,Collection<InnerDataSubscription>> |
_allowedDataIdentifications
Bildet pro Datenidentifikation bzw.
|
private ClientDavConnection |
_connection |
private Map<TransactionDataDescription,ClientReceiverInterface> |
_realReceivers
Bildet pro Datenidentifikation die Empfänger ab, die die Rohdaten empfangen und dann verarbeitet an die eigentliche Applikation weitergeben
|
private Map<TransactionDataDescription,Collection<InnerDataSubscription>> |
_requiredDataIdentifications
Bildet pro Datenidentifikation bzw.
|
Constructor and Description |
---|
TransactionManager(ClientDavConnection connection)
Erstellt einen neuen TransaktionsManager zur Verwaltung von Transaktionen
|
Modifier and Type | Method and Description |
---|---|
private Transaction |
createTransaction(ResultData result) |
private boolean |
equals(Data item,
InnerDataSubscription subscription,
SystemObject transactionObject)
Prüft, ob die Datenidentifikation in einem Data-Objekt mit einer Datenidentifikation in einer InnerDataSubscription übereinstimmt, und ob das Transaktionsobjekt
übereinstimmt, wenn NurTransaktionsObjekt im Data festgelegt ist.
|
private ClientReceiverInterface |
getRealReceiver(TransactionDataDescription receiver) |
void |
sendTransaction(TransactionDataDescription dataDescription,
Collection<ResultData> data)
Sendet eine Transaktion mit dem Transaktiondatensatz-Zeitstempel der aktuellen Zeit.
|
void |
sendTransaction(TransactionDataDescription dataDescription,
Collection<ResultData> data,
long dataTime)
Sendet eine Transaktion
|
void |
sendTransaction(TransactionResultData data)
Sendet eine Transaktion
|
void |
subscribeDrain(TransactionReceiverInterface receiver,
TransactionDataDescription dataDescription,
Collection<InnerDataSubscription> subscriptions)
Meldet eine Transaktionssenke an.
|
void |
subscribeReceiver(TransactionReceiverInterface receiver,
TransactionDataDescription dataDescription)
Meldet einen Transaktionsempfänger an.
|
private void |
subscribeReceiver(TransactionReceiverInterface receiver,
TransactionDataDescription dataDescription,
Collection<InnerDataSubscription> subscriptions)
Meldet eine Senke oder einen Empfänger an
|
void |
subscribeSender(TransactionSenderInterface sender,
TransactionDataDescription dataDescription)
Meldet einen Transaktionssender an.
|
void |
subscribeSource(TransactionSenderInterface sender,
TransactionDataDescription dataDescription,
Collection<InnerDataSubscription> subscriptions)
Meldet eine Transaktionsquelle an und sendet einen leeren Datensatz.
|
void |
subscribeSource(TransactionSenderInterface sender,
TransactionDataDescription dataDescription,
Collection<InnerDataSubscription> subscriptions,
Collection<ResultData> initialData,
long time)
Meldet eine Transaktionsquelle an und sendet einen Transaktionsdatensatz.
|
private void |
testSend(TransactionResultData data) |
private void |
testSubscribe(TransactionDataDescription dataDescription,
Collection<InnerDataSubscription> subscriptions) |
String |
toString() |
void |
unsubscribeReceiver(TransactionReceiverInterface receiver,
TransactionDataDescription dataDescription)
Meldet einen Transaktionempfänger oder eine Transaktionssenke ab.
|
void |
unsubscribeSender(TransactionSenderInterface sender,
TransactionDataDescription dataDescription)
Meldet einen Transaktionsender oder eine Transaktionsquelle ab.
|
private final ClientDavConnection _connection
private final Map<TransactionDataDescription,ClientReceiverInterface> _realReceivers
private final Map<TransactionDataDescription,Collection<InnerDataSubscription>> _allowedDataIdentifications
private final Map<TransactionDataDescription,Collection<InnerDataSubscription>> _requiredDataIdentifications
public TransactionManager(ClientDavConnection connection)
connection
- Verbindung zum Datenverteilerpublic void subscribeSource(TransactionSenderInterface sender, TransactionDataDescription dataDescription, Collection<InnerDataSubscription> subscriptions, Collection<ResultData> initialData, long time) throws OneSubscriptionPerSendData
Transactions
subscribeSource
in interface Transactions
sender
- Callback zur SendesteuerungdataDescription
- Datenidentifikation der Transaktion (Transaktionsobjekt, -attributgruppe, -aspekt)subscriptions
- Datenidentifikationen innerhalb der TransaktioninitialData
- Initialer Datensatztime
- Datenzeit des TransaktionsdatensatzesOneSubscriptionPerSendData
- Falls es schon eine Quellen-Anmeldung zu dieser Transaktion oder einem enthaltenen Datensatz gibt.public void sendTransaction(TransactionDataDescription dataDescription, Collection<ResultData> data) throws SendSubscriptionNotConfirmed
Transactions
sendTransaction
in interface Transactions
dataDescription
- Datenidentifikation der Transaktion (Transaktionsobjekt, -attributgruppe, -aspekt)data
- Liste mit DatenSendSubscriptionNotConfirmed
- Bei fehlender Sender-Anmeldungpublic void sendTransaction(TransactionDataDescription dataDescription, Collection<ResultData> data, long dataTime) throws SendSubscriptionNotConfirmed
Transactions
sendTransaction
in interface Transactions
dataDescription
- Datenidentifikation der Transaktion (Transaktionsobjekt, -attributgruppe, -aspekt)data
- Liste mit DatendataTime
- Datenzeit (des Transaktionsdatensatzes)SendSubscriptionNotConfirmed
- Bei fehlender Sender-Anmeldungpublic void sendTransaction(TransactionResultData data) throws SendSubscriptionNotConfirmed
Transactions
sendTransaction
in interface Transactions
data
- TransaktionSendSubscriptionNotConfirmed
- Bei fehlender Sender-Anmeldungprivate void testSend(TransactionResultData data)
public void unsubscribeReceiver(TransactionReceiverInterface receiver, TransactionDataDescription dataDescription)
Transactions
unsubscribeReceiver
in interface Transactions
receiver
- Empfänger-KlassedataDescription
- Datenidentifikation der Transaktion (Transaktionsobjekt, -attributgruppe, -aspekt)private ClientReceiverInterface getRealReceiver(TransactionDataDescription receiver)
public void unsubscribeSender(TransactionSenderInterface sender, TransactionDataDescription dataDescription)
Transactions
unsubscribeSender
in interface Transactions
sender
- Sender-KlassedataDescription
- Datenidentifikation der Transaktion (Transaktionsobjekt, -attributgruppe, -aspekt)public void subscribeSource(TransactionSenderInterface sender, TransactionDataDescription dataDescription, Collection<InnerDataSubscription> subscriptions) throws OneSubscriptionPerSendData
Transactions
subscribeSource
in interface Transactions
sender
- Callback zur SendesteuerungdataDescription
- Datenidentifikation der Transaktion (Transaktionsobjekt, -attributgruppe, -aspekt)subscriptions
- Datenidentifikationen innerhalb der TransaktionOneSubscriptionPerSendData
- Falls es schon eine Quellen-Anmeldung zu dieser Transaktion oder einem enthaltenen Datensatz gibt.private void testSubscribe(TransactionDataDescription dataDescription, Collection<InnerDataSubscription> subscriptions)
private boolean equals(Data item, InnerDataSubscription subscription, SystemObject transactionObject)
item
- Data-Objektsubscription
- Anmelde-InfotransactionObject
- Transaktionsobjekt (zur Prüfung von NurTransaktionsObjekt)public void subscribeSender(TransactionSenderInterface sender, TransactionDataDescription dataDescription) throws OneSubscriptionPerSendData
Transactions
subscribeSender
in interface Transactions
sender
- Callback zur SendesteuerungdataDescription
- Datenidentifikation der Transaktion (Transaktionsobjekt, -attributgruppe, -aspekt)OneSubscriptionPerSendData
- Falls es schon eine widersprüchliche Anmeldung zu dieser Transaktion oder einem enthaltenen Datensatz gibt.public void subscribeReceiver(TransactionReceiverInterface receiver, TransactionDataDescription dataDescription) throws OneSubscriptionPerSendData
Transactions
subscribeReceiver
in interface Transactions
receiver
- Callback zum Empfang von DatendataDescription
- Datenidentifikation der Transaktion (Transaktionsobjekt, -attributgruppe, -aspekt)OneSubscriptionPerSendData
- Falls es schon eine widersprüchliche Anmeldung zu dieser Transaktion oder einem enthaltenen Datensatz gibt.public void subscribeDrain(TransactionReceiverInterface receiver, TransactionDataDescription dataDescription, Collection<InnerDataSubscription> subscriptions) throws OneSubscriptionPerSendData
Transactions
subscribeDrain
in interface Transactions
receiver
- Callback zum Empfang von DatendataDescription
- Datenidentifikation der Transaktion (Transaktionsobjekt, -attributgruppe, -aspekt)subscriptions
- Datenidentifikationen innerhalb der TransaktionOneSubscriptionPerSendData
- Falls es schon eine widersprüchliche Anmeldung zu dieser Transaktion oder einem enthaltenen Datensatz gibt.private void subscribeReceiver(TransactionReceiverInterface receiver, TransactionDataDescription dataDescription, Collection<InnerDataSubscription> subscriptions) throws OneSubscriptionPerSendData
receiver
- EmpfängerdataDescription
- Datenbeschreibungsubscriptions
- Innere Anmeldungen falls Senke, sonst nullOneSubscriptionPerSendData
- Fehlerprivate Transaction createTransaction(ResultData result)