Class BestaetigterDavSender
- java.lang.Object
-
- de.bsvrz.ibv.uda.interpreter.daten.dav.BestaetigterDavSender
-
- All Implemented Interfaces:
de.bsvrz.dav.daf.main.ClientSenderInterface
,de.bsvrz.dav.daf.main.DavConnectionListener
public final class BestaetigterDavSender extends java.lang.Object implements de.bsvrz.dav.daf.main.ClientSenderInterface, de.bsvrz.dav.daf.main.DavConnectionListener
Allgemeine Klasse zur Realisierung eines Datenverteiler-Senders mit Sendesteuerung.
-
-
Method Summary
Modifier and Type Method Description void
abmelden(de.bsvrz.dav.daf.main.config.SystemObject objekt, de.bsvrz.dav.daf.main.DataDescription desc)
führt eine Abmeldung für die übergebene Kombination aus Systemobjekt und Datenbschreibung aus.
Für die entsprechende Anmeldung wird der Anmeldungszähler inkrementiert.void
anmelden(de.bsvrz.dav.daf.main.config.SystemObject objekt, de.bsvrz.dav.daf.main.DataDescription desc, boolean quelle)
führt eine Anmeldung für die übergebene Kombination aus Systemobjekt und Datenbschreibung aus.
Wenn für die Kombination noch keine Anmeldung erfolgte, wird eine neue Anmeldung ausgeführt, ansonsten wird der Zähler für dies Anmeldung erhöht.void
connectionClosed(de.bsvrz.dav.daf.main.ClientDavInterface connection)
void
dataRequest(de.bsvrz.dav.daf.main.config.SystemObject objekt, de.bsvrz.dav.daf.main.DataDescription desc, byte status)
static BestaetigterDavSender
getSender(de.bsvrz.dav.daf.main.ClientDavInterface connection)
erzeugt und liefert eine Instanz eines Senderobjekts für die übergebene Datenverteilerverbindung.boolean
isQuelle(de.bsvrz.dav.daf.main.config.SystemObject objekt, de.bsvrz.dav.daf.main.DataDescription dataDesc)
ermittelt, ob für das übergebene Objekt und die Datenbeschreibung eine Anmeldung als Quelle erfolgt ist.boolean
isRequestSupported(de.bsvrz.dav.daf.main.config.SystemObject objekt, de.bsvrz.dav.daf.main.DataDescription dataDescription)
.
Die Sendesteuerung wird für alle Anmeldungen unterstützt.void
warteAufBestaetigung(de.bsvrz.dav.daf.main.config.SystemObject objekt, de.bsvrz.dav.daf.main.DataDescription desc, long timeout)
blockiert einen Thread, bis die beschriebene Anmeldung bestätigt wurde.
-
-
-
Method Detail
-
getSender
public static BestaetigterDavSender getSender(de.bsvrz.dav.daf.main.ClientDavInterface connection)
erzeugt und liefert eine Instanz eines Senderobjekts für die übergebene Datenverteilerverbindung.- Parameters:
connection
- die verwendete Datenverteilerverbindung- Returns:
- die Instanz des Senders
-
abmelden
public void abmelden(de.bsvrz.dav.daf.main.config.SystemObject objekt, de.bsvrz.dav.daf.main.DataDescription desc)
führt eine Abmeldung für die übergebene Kombination aus Systemobjekt und Datenbschreibung aus.
Für die entsprechende Anmeldung wird der Anmeldungszähler inkrementiert. Wenn keine Anmeldung mehr vorhanden ist, erfolgt die Abmeldung vom Datenverteiler und die Anmeldung wird aus der Liste der verwalteten Anmeldungen entfernt.- Parameters:
objekt
- das Systemobjektdesc
- die Datenbschreibung
-
anmelden
public void anmelden(de.bsvrz.dav.daf.main.config.SystemObject objekt, de.bsvrz.dav.daf.main.DataDescription desc, boolean quelle)
führt eine Anmeldung für die übergebene Kombination aus Systemobjekt und Datenbschreibung aus.
Wenn für die Kombination noch keine Anmeldung erfolgte, wird eine neue Anmeldung ausgeführt, ansonsten wird der Zähler für dies Anmeldung erhöht.- Parameters:
objekt
- das Systemobjektdesc
- die Datenbschreibungquelle
- die Anmeldung soll als Quelle erfolgen
-
connectionClosed
public void connectionClosed(de.bsvrz.dav.daf.main.ClientDavInterface connection)
- Specified by:
connectionClosed
in interfacede.bsvrz.dav.daf.main.DavConnectionListener
-
dataRequest
public void dataRequest(de.bsvrz.dav.daf.main.config.SystemObject objekt, de.bsvrz.dav.daf.main.DataDescription desc, byte status)
- Specified by:
dataRequest
in interfacede.bsvrz.dav.daf.main.ClientSenderInterface
-
isQuelle
public boolean isQuelle(de.bsvrz.dav.daf.main.config.SystemObject objekt, de.bsvrz.dav.daf.main.DataDescription dataDesc)
ermittelt, ob für das übergebene Objekt und die Datenbeschreibung eine Anmeldung als Quelle erfolgt ist.- Parameters:
objekt
- das ObjektdataDesc
- die Datenbeschreibung- Returns:
- true, wenn eine Quellenanmeldung vorliegt
-
isRequestSupported
public boolean isRequestSupported(de.bsvrz.dav.daf.main.config.SystemObject objekt, de.bsvrz.dav.daf.main.DataDescription dataDescription)
.
Die Sendesteuerung wird für alle Anmeldungen unterstützt.- Specified by:
isRequestSupported
in interfacede.bsvrz.dav.daf.main.ClientSenderInterface
- See Also:
ClientSenderInterface.isRequestSupported(SystemObject, DataDescription)
-
warteAufBestaetigung
public void warteAufBestaetigung(de.bsvrz.dav.daf.main.config.SystemObject objekt, de.bsvrz.dav.daf.main.DataDescription desc, long timeout) throws de.bsvrz.dav.daf.main.SendSubscriptionNotConfirmed
blockiert einen Thread, bis die beschriebene Anmeldung bestätigt wurde.
Die einfache Implementierung pollt zyklisch den Status der Anmeldung entweer bis dieser als bestätigt gilt oder der übergebene Timeoutwert erreicht wurde.
Wird für den Timeoutwert ein Wert kleiner oder gleich 0 angegeben, wird unendlich lange gewartet.- Parameters:
objekt
- das Systemobjektdesc
- die Datenbeschreibungtimeout
- die maximale Wartezeit in Sekunden- Throws:
de.bsvrz.dav.daf.main.SendSubscriptionNotConfirmed
- die Sendeanmeldung konnte innerhalb der geforderten Zeit nicht bestätigt werden
-
-