Class Anmeldung
- java.lang.Object
-
- de.bsvrz.ibv.uda.interpreter.anweisung.UdaAktivitaet
-
- de.bsvrz.ibv.uda.interpreter.anweisung.anmeldung.Anmeldung
-
- All Implemented Interfaces:
de.bsvrz.dav.daf.main.ClientReceiverInterface
,de.bsvrz.dav.daf.main.ClientSenderInterface
,de.bsvrz.dav.daf.main.config.MutableSetChangeListener
,Struktur
public class Anmeldung extends UdaAktivitaet implements de.bsvrz.dav.daf.main.config.MutableSetChangeListener, de.bsvrz.dav.daf.main.ClientReceiverInterface, de.bsvrz.dav.daf.main.ClientSenderInterface
die Repräsentation einer nebenläufigen Aktivität zum Empfang und Versenden von Daten vom und zu einem verbundenen Datenverteiler.
Die Klasse implementiert die Schnittstellen ClientReceiverInterface, ClientSenderInterface und MutableSetChangeListener um Daten zum Datenverteiler versenden zu können und Daten, sowie Änderungen von dynamischen Mengen asynchron vom Datenverteiler empfangen und verrbeiten zu können. Die Aktivität selbst realisiert keinen eigenen Thread. Die Nebenläufigkeit wird durch die Kommunikationsthreads der Datenverteiler-Applikationsfuntionen realisiert.
-
-
Constructor Summary
Constructors Constructor Description Anmeldung(SkriptKontext kontext, java.lang.String name, AnmeldeAnweisung anweisung)
Konstruktor.
-
Method Summary
Modifier and Type Method Description void
addAnmeldung(AnmeldeTyp typ, AtgAnmeldungsEintrag eintrag)
fügt dem der Aktivität eine Anmeldung des übergebenen Typs hinzu.void
beenden()
beendet die Aktivität.void
dataRequest(de.bsvrz.dav.daf.main.config.SystemObject obj, de.bsvrz.dav.daf.main.DataDescription dataDescription, byte status)
.
setzt den Sendeanforderungsstaus für eine Sender- oder Quellenanmeldung.de.bsvrz.dav.daf.main.ClientDavInterface
getConnection()
liefert die Datenverteilerverbindung, über die die Anmeldung kommuniziert.java.util.Collection<AnmeldungsEintrag>
getEmpfaengerAnmeldungen()
liefert die Liste der aktuellen Anmeldungen als Empfänger.java.util.Collection<AnmeldungsEintrag>
getQuelleAnmeldungen()
liefert die Liste der aktuellen Anmeldungen als Quelle.java.util.Collection<AnmeldungsEintrag>
getSenderAnmeldungen()
liefert die Liste der aktuellen Anmeldungen als Sender.java.util.Collection<AnmeldungsEintrag>
getSenkeAnmeldungen()
liefert die Liste der aktuellen Anmeldungen als Senke.boolean
isRequestSupported(de.bsvrz.dav.daf.main.config.SystemObject obj, de.bsvrz.dav.daf.main.DataDescription dataDescription)
.
die Sendeanforderungssteuerung wird für alle Sende- und Quellenanmeldungen unterstützt.
Die Funktion ermittelt prüft ob eine passende Sender- oder Quellenanmeldungen existiert und liefert den entsprechenden Wert.void
removeEmpfaenger(java.lang.Object obj, java.lang.Object atgObj, java.lang.Object aspObj)
entfernt Empfängeranmeldungen von der Anmeldungs-Aktivität.
Es werden alle passenden Empfänger- und Senkenanmeldung ermittelt, vom Datenverteiler abgemeldet und aus der Liste der aktiven Anmeldungen entfernt.void
removeSender(java.lang.Object obj, java.lang.Object atgObj, java.lang.Object aspObj)
entfernt Senderanmeldungen von der Anmeldungs-Aktivität.
Es werden alle passenden Sender- und Quellenanmeldung ermittelt, vom Datenverteiler abgemeldet und aus der Liste der aktiven Anmeldungen entfernt.void
update(de.bsvrz.dav.daf.main.config.MutableSet set, de.bsvrz.dav.daf.main.config.SystemObject[] addedObjects, de.bsvrz.dav.daf.main.config.SystemObject[] removedObjects)
.
Es werden alle empfangenen Mengenänderungen einzeln ausgewertet.void
update(de.bsvrz.dav.daf.main.ResultData[] results)
.
Es werden alle empfangenen Datensätze einzeln ausgewertet.-
Methods inherited from class de.bsvrz.ibv.uda.interpreter.anweisung.UdaAktivitaet
getKontext, getStrukturElement, isRunning, setFehler, setRunning, setStrukturElement
-
-
-
-
Constructor Detail
-
Anmeldung
public Anmeldung(SkriptKontext kontext, java.lang.String name, AnmeldeAnweisung anweisung)
Konstruktor.- Parameters:
kontext
- der umgebende Kontext der Anweisungname
- der name unter dem die Aktivität im umgebenden Kontext registriert wirdanweisung
- die Anweisung mit den Details für die Anmeldung beim Datenverteiler und die auszuführenden Operationen
-
-
Method Detail
-
addAnmeldung
public void addAnmeldung(AnmeldeTyp typ, AtgAnmeldungsEintrag eintrag)
fügt dem der Aktivität eine Anmeldung des übergebenen Typs hinzu.- Parameters:
typ
- der Typ der Anmeldungeintrag
- der anzumeldende Eintrag
-
beenden
public void beenden()
beendet die Aktivität..
Beim Beenden der Aktivität werden alle aktuellen Anmeldungen beim Datenverteiler abgemeldet. Der Status der AKtivität wird auf inaktiv gesetzt.- Specified by:
beenden
in classUdaAktivitaet
- See Also:
UdaAktivitaet.beenden()
-
dataRequest
public void dataRequest(de.bsvrz.dav.daf.main.config.SystemObject obj, de.bsvrz.dav.daf.main.DataDescription dataDescription, byte status)
.
setzt den Sendeanforderungsstaus für eine Sender- oder Quellenanmeldung.
Die Funktion ermittelt alle passenden Sender- und Quellenanmeldungen und setzt den Status der Anforderung auf den übergebenen Wert.- Specified by:
dataRequest
in interfacede.bsvrz.dav.daf.main.ClientSenderInterface
- See Also:
ClientSenderInterface.dataRequest(de.bsvrz.dav.daf.main.config.SystemObject, de.bsvrz.dav.daf.main.DataDescription, byte)
-
getConnection
public de.bsvrz.dav.daf.main.ClientDavInterface getConnection()
liefert die Datenverteilerverbindung, über die die Anmeldung kommuniziert.- Returns:
- die Verbindung
-
getEmpfaengerAnmeldungen
public java.util.Collection<AnmeldungsEintrag> getEmpfaengerAnmeldungen()
liefert die Liste der aktuellen Anmeldungen als Empfänger.- Returns:
- die Anmeldungen
-
getQuelleAnmeldungen
public java.util.Collection<AnmeldungsEintrag> getQuelleAnmeldungen()
liefert die Liste der aktuellen Anmeldungen als Quelle.- Returns:
- die Anmeldungen
-
getSenderAnmeldungen
public java.util.Collection<AnmeldungsEintrag> getSenderAnmeldungen()
liefert die Liste der aktuellen Anmeldungen als Sender.- Returns:
- die Anmeldungen
-
getSenkeAnmeldungen
public java.util.Collection<AnmeldungsEintrag> getSenkeAnmeldungen()
liefert die Liste der aktuellen Anmeldungen als Senke.- Returns:
- die Anmeldungen
-
isRequestSupported
public boolean isRequestSupported(de.bsvrz.dav.daf.main.config.SystemObject obj, de.bsvrz.dav.daf.main.DataDescription dataDescription)
.
die Sendeanforderungssteuerung wird für alle Sende- und Quellenanmeldungen unterstützt.
Die Funktion ermittelt prüft ob eine passende Sender- oder Quellenanmeldungen existiert und liefert den entsprechenden Wert.- Specified by:
isRequestSupported
in interfacede.bsvrz.dav.daf.main.ClientSenderInterface
- See Also:
ClientSenderInterface.isRequestSupported(de.bsvrz.dav.daf.main.config.SystemObject, de.bsvrz.dav.daf.main.DataDescription)
-
removeEmpfaenger
public void removeEmpfaenger(java.lang.Object obj, java.lang.Object atgObj, java.lang.Object aspObj)
entfernt Empfängeranmeldungen von der Anmeldungs-Aktivität.
Es werden alle passenden Empfänger- und Senkenanmeldung ermittelt, vom Datenverteiler abgemeldet und aus der Liste der aktiven Anmeldungen entfernt.- Parameters:
obj
- das Objekt, welches das Systemobjekt beschreibtatgObj
- das Objekt, welches die Attibutgruppe beschreibtaspObj
- das Objekt, welches den Aspekt beschreibt
-
removeSender
public void removeSender(java.lang.Object obj, java.lang.Object atgObj, java.lang.Object aspObj)
entfernt Senderanmeldungen von der Anmeldungs-Aktivität.
Es werden alle passenden Sender- und Quellenanmeldung ermittelt, vom Datenverteiler abgemeldet und aus der Liste der aktiven Anmeldungen entfernt.- Parameters:
obj
- das Objekt, welches das Systemobjekt beschreibtatgObj
- das Objekt, welches die Attibutgruppe beschreibtaspObj
- das Objekt, welches den Aspekt beschreibt
-
update
public void update(de.bsvrz.dav.daf.main.config.MutableSet set, de.bsvrz.dav.daf.main.config.SystemObject[] addedObjects, de.bsvrz.dav.daf.main.config.SystemObject[] removedObjects)
.
Es werden alle empfangenen Mengenänderungen einzeln ausgewertet. Für jeden geänderten Eintrag wird ein Mengenänderungsobjekt erzeugt. Das erzeugte Objekt wird im lokalen Kontext in der Mengenänderungsvariable abgelegt und die Anweisungen des Mengenänderungsbereiches ausgeführt.
Tritt bei der Ausführung der Anweisungen des Mengenänderungsbereiches ein unbehandelter Fehler auf, wird der Fehlerbehandlungsbereich mit dem erhaltenen Fehlerobjekt ausgeführt.- Specified by:
update
in interfacede.bsvrz.dav.daf.main.config.MutableSetChangeListener
- See Also:
MutableSetChangeListener.update(de.bsvrz.dav.daf.main.config.MutableSet, de.bsvrz.dav.daf.main.config.SystemObject[], de.bsvrz.dav.daf.main.config.SystemObject[])
-
update
public void update(de.bsvrz.dav.daf.main.ResultData[] results)
.
Es werden alle empfangenen Datensätze einzeln ausgewertet. Enthält ein Datensatz Daten, wird der Aktualisierungsvariable im lokalen Kontext der Anmeldeanweisung der empfangene Datensatz zugewiesen und die Anweisungen des Aktualisierungsblockes ausgeführt. Zusätzlich wird der Marker für die Timeoutbehandlung der betroffenen Anmeldung zurückgesetzt.
Enthält der Datensatz keine Daten wird ein entprechendes Fehlerobjekt (Keine Quelle, Keine Daten, Keine Rechte) erzeugt, das Fehlerobjekt der Fehlerbehandlungsvariable zugewiesen und die Anweisungen des Fehlerbehandlungsblockes ausgeführt.- Specified by:
update
in interfacede.bsvrz.dav.daf.main.ClientReceiverInterface
- See Also:
ClientReceiverInterface.update(de.bsvrz.dav.daf.main.ResultData[])
-
-