Class 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.
    • Field Summary

      • Fields inherited from interface de.bsvrz.dav.daf.main.ClientSenderInterface

        START_SENDING, STOP_SENDING, STOP_SENDING_NO_RIGHTS, STOP_SENDING_NOT_A_VALID_SUBSCRIPTION
    • 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 java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Anmeldung

        public Anmeldung​(SkriptKontext kontext,
                         java.lang.String name,
                         AnmeldeAnweisung anweisung)
        Konstruktor.
        Parameters:
        kontext - der umgebende Kontext der Anweisung
        name - der name unter dem die Aktivität im umgebenden Kontext registriert wird
        anweisung - 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 Anmeldung
        eintrag - 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 class UdaAktivitaet
        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 interface de.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 interface de.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 beschreibt
        atgObj - das Objekt, welches die Attibutgruppe beschreibt
        aspObj - 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 beschreibt
        atgObj - das Objekt, welches die Attibutgruppe beschreibt
        aspObj - 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 interface de.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 interface de.bsvrz.dav.daf.main.ClientReceiverInterface
        See Also:
        ClientReceiverInterface.update(de.bsvrz.dav.daf.main.ResultData[])