Interface OnlineDatensatz<T extends OnlineDatum>

    • Method Detail

      • anmeldenSender

        void anmeldenSender​(Aspekt asp)
                     throws AnmeldeException
        Meldet den Datensatz als Sender oder Quelle am Datenverteiler an.
        Parameters:
        asp - der betroffene Aspekt.
        Throws:
        AnmeldeException - wenn die Anmeldung nicht erfolgreich war.
      • anmeldenQuelle

        void anmeldenQuelle​(Aspekt asp,
                            T datum)
                     throws AnmeldeException
        Meldet den Datensatz als Quelle am Datenverteiler an und versendet den übergebenen Datensatz.
        Parameters:
        asp - der betroffene Aspekt.
        datum - der initiale Datensatz
        Throws:
        AnmeldeException - wenn die Anmeldung nicht erfolgreich war.
      • abmeldenSender

        void abmeldenSender​(Aspekt asp)
        Meldet eine eventuell vorhandene Anmeldung als Sender oder Quelle wieder ab.
        Parameters:
        asp - der betroffene Aspekt.
      • addUpdateListener

        void addUpdateListener​(Aspekt asp,
                               DatensatzUpdateListener l)
        Registriert einen Listener.
        Parameters:
        asp - der betroffene Aspekt.
        l - ein interessierte Listener.
      • addUpdateListener

        void addUpdateListener​(Aspekt asp,
                               short simulationsVariante,
                               DatensatzUpdateListener listener)
        Registriert einen Listener für eine bestimmte Simulationsvariante.
        Parameters:
        asp - der betroffene Aspekt.
        simulationsVariante - die Simulationsvariante.
        listener - ein interessierte Listener.
      • removeUpdateListener

        void removeUpdateListener​(Aspekt asp,
                                  DatensatzUpdateListener l)
        Deregistriert einen Listener.
        Parameters:
        asp - der betroffene Aspekt.
        l - ein nicht mehr interessierten Listener.
      • removeUpdateListener

        void removeUpdateListener​(Aspekt asp,
                                  short simulationsVariante,
                                  DatensatzUpdateListener listener)
        Deregistriert einen Listener.
        Parameters:
        asp - der betroffene Aspekt.
        simulationsVariante - die betroffene Simulationsvariante.
        listener - ein nicht mehr interessierten Listener.
      • addSendeSteuerungListener

        void addSendeSteuerungListener​(Aspekt asp,
                                       SendeSteuerungListener listener)
        Registriert einen Listener ür die Sendesteuerung.
        Parameters:
        asp - der betroffene Aspekt.
        listener - ein interessierte Listener.
      • addSendeSteuerungListener

        void addSendeSteuerungListener​(Aspekt asp,
                                       short simulationsVariante,
                                       SendeSteuerungListener listener)
        Registriert einen Listener für eine bestimmte Simulationsvariante.
        Parameters:
        asp - der betroffene Aspekt.
        simulationsVariante - die Simulationsvariante.
        listener - ein interessierte Listener.
      • removeSendeSteuerungListener

        void removeSendeSteuerungListener​(Aspekt asp,
                                          SendeSteuerungListener listener)
        Deregistriert einen Listener. Beim Versuch einen nicht registrierten Listener zu entfernen, wird keine Aktion ausgeführt.
        Parameters:
        asp - der betroffene Aspekt.
        listener - ein nicht mehr interessierten Listener.
      • removeSendeSteuerungListener

        void removeSendeSteuerungListener​(Aspekt asp,
                                          short simulationsVariante,
                                          SendeSteuerungListener listener)
        Deregistriert einen Listener. Beim Versuch einen nicht registrierten Listener zu entfernen, wird keine Aktion ausgeführt.
        Parameters:
        asp - der betroffene Aspekt.
        simulationsVariante - die betroffene Simulationsvariante.
        listener - ein nicht mehr interessierten Listener.
      • getAspekte

        java.util.Collection<? extends Aspekt> getAspekte()
        Gibt die verfügbaren Aspekte zurück.
        Specified by:
        getAspekte in interface Datensatz<T extends OnlineDatum>
        Returns:
        die Menge der verfügbaren Aspekte.
      • getStatusSendesteuerung

        OnlineDatensatz.Status getStatusSendesteuerung​(Aspekt asp)
        Fragt, ob der Datensatz als Sender oder Quelle Daten senden darf.
        Parameters:
        asp - der betroffene Aspekt.
        Returns:
        true, wenn der Datensatz als Sender oder Quelle Daten senden darf.
      • isAngemeldetSender

        boolean isAngemeldetSender​(Aspekt asp)
        Fragt, ob der Datensatz als Sender oder Quelle angemeldet ist.
        Parameters:
        asp - der betroffene Aspekt.
        Returns:
        true, wenn der Datensatz als Sender oder Quelle angemeldet ist.
      • isAutoUpdate

        boolean isAutoUpdate​(Aspekt asp)
        Liest das Flag autoUpdate.
        Parameters:
        asp - der betroffene Aspekt.
        Returns:
        true, wenn der Datensatz neue Daten automatisch vom Datenverteiler empfängt.
      • isQuelle

        boolean isQuelle​(Aspekt asp)
        Gibt das Flag quelle zurück.
        Parameters:
        asp - der betroffene Aspekt.
        Returns:
        true, wenn der Datensatz als Quelle und false, wenn er als Sender angemeldet werden soll.
      • setQuelle

        void setQuelle​(Aspekt asp,
                       boolean quelle)
        Legt fest, ob Anmeldungen als Quelle durchgeführt werden sollen. Eine bereits bestehende Anmeldung wird dadurch nicht beeinflusst.
        Parameters:
        asp - der betroffene Aspekt.
        quelle - true, wenn die Anmeldung als Quelle erfolgen soll, ansonsten erfolgt sie als Sender.
      • isSenke

        boolean isSenke​(Aspekt asp)
        Gibt das Flag senke zurück.
        Parameters:
        asp - der betroffene Aspekt.
        Returns:
        true, wenn der Datensatz als Senke und false, wenn er als Empfänger angemeldet werden soll.
      • setSenke

        void setSenke​(Aspekt asp,
                      boolean senke)
        Legt fest, ob Anmeldungen als Senke durchgeführt werden sollen. Eine bereits bestehende Anmeldung wird dadurch nicht beeinflusst.
        Parameters:
        asp - der betroffene Aspekt.
        senke - true, wenn die Anmeldung als Senke erfolgen soll, ansonsten erfolgt sie als Empfänger.
      • sendeDatum

        void sendeDatum​(Aspekt asp,
                        T datum)
                 throws DatensendeException
        Veranlasst den Datensatz ein Datum an den Datenverteiler zusenden. Ist der Zeitstempel des Datums nicht gesetzt oder gleich 0, wird automatisch der aktuelle Zeitstempel beim Versand verwendet.
        Parameters:
        asp - der betroffene Aspekt.
        datum - das zu sendende Datum.
        Throws:
        DatensendeException - wenn die Daten nicht gesendet werden konnten. Der Sendecache wird in dem Fall nicht geleert.
        See Also:
        Datensatz.createDatum()
      • sendeDatum

        void sendeDatum​(Aspekt asp,
                        T datum,
                        long timeout)
                 throws DatensendeException
        Veranlasst den Datensatz ein Datum an den Datenverteiler zusenden. Ist der Zeitstempel des Datums nicht gesetzt oder gleich 0, wird automatisch der aktuelle Zeitstempel beim Versand verwendet.
        Parameters:
        asp - der betroffene Aspekt.
        datum - das zu sendende Datum.
        timeout - die Zeit in der der Datensatz gesendet werden muss.
        Throws:
        DatensendeException - wenn die Daten nicht gesendet werden konnten. Der Sendecache wird in dem Fall nicht geleert.
        See Also:
        Datensatz.createDatum()
      • getArchivdatenIterator

        java.util.Iterator<T> getArchivdatenIterator​(Aspekt asp,
                                                     com.bitctrl.util.Interval intervall,
                                                     boolean nurAenderungen,
                                                     de.bsvrz.dav.daf.main.archive.ArchiveDataKind... dataKinds)
        Erzeugt aus den Parametern eine äquivalente Archivanfrage für einen Zeitraum.
        Parameters:
        asp - der Aspekt für den Daten gesucht werden.
        intervall - das Zeitintervall der Archivanfrage.
        nurAenderungen - true, wenn nur geänderten Datensätze zurückgeben werden sollen. Aufeinanderfolgende identische Datensätze werden hierbei zu einem Datensatz zusammengefasst.
        dataKinds - die gewünschten Datensatzarten. Wenn nicht angegeben, werden nur Onlinedaten abgefragt.
        Returns:
        die Liste der Archivanfragen.
      • getArchivdatenIterator

        java.util.Iterator<T> getArchivdatenIterator​(Aspekt asp,
                                                     long zeitstempel,
                                                     int anzahlDatensaetze,
                                                     boolean nurAenderungen,
                                                     de.bsvrz.dav.daf.main.archive.ArchiveDataKind... dataKinds)
        Erzeugt aus den Parametern eine äquivalente Archivanfrage für eine bestimmte Anzahl Datensätze vor einem Endzeitpunkt.
        Parameters:
        asp - der Aspekt für den Daten gesucht werden.
        zeitstempel - der Zeitpunkt vor dem die Datensätze liegen sollen.
        anzahlDatensaetze - die Anzahl der gewünschten Datensätze.
        nurAenderungen - true, wenn nur geänderten Datensätze zurückgeben werden sollen. Aufeinanderfolgende identische Datensätze werden hierbei zu einem Datensatz zusammengefasst.
        dataKinds - die gewünschten Datensatzarten. Wenn nicht angegeben, werden nur Onlinedaten abgefragt.
        Returns:
        die Liste der Archivanfragen.
      • getArchivdaten

        java.util.List<T> getArchivdaten​(Aspekt asp,
                                         com.bitctrl.util.Interval intervall,
                                         boolean nurAenderungen,
                                         de.bsvrz.dav.daf.main.archive.ArchiveDataKind... dataKinds)
        Ruft Archivdaten in einen Rutsch ab. Diese Methode sollte nur verwendet werden, wenn die zu erwartenden Liste der Archivdaten nicht zu groß ist.

        Hinweis: Diese Methode sollte nur für Anfragen benutzt werden, die relativ kleine Datenmengen abfragen, da die Abfrage sonst sehr lange dauern oder gar fehlschlagen kann. Besser ist es die Methode getArchivdatenIterator(Aspekt, Interval, boolean, ArchiveDataKind...) zu verwenden.

        Parameters:
        asp - der Aspekt für den Daten gesucht werden.
        intervall - das Zeitintervall der Archivanfrage.
        nurAenderungen - true, wenn nur geänderten Datensätze zurückgeben werden sollen. Aufeinanderfolgende identische Datensätze werden hierbei zu einem Datensatz zusammengefasst.
        dataKinds - die gewünschten Datensatzarten. Wenn nicht angegeben, werden nur Onlinedaten abgefragt.
        Returns:
        die Liste der Archivdaten.
        See Also:
        getArchivdatenIterator(Aspekt, Interval, boolean, ArchiveDataKind...)
      • getArchivdaten

        java.util.List<T> getArchivdaten​(Aspekt asp,
                                         long zeitstempel,
                                         int anzahlDatensaetze,
                                         boolean nurAenderungen,
                                         de.bsvrz.dav.daf.main.archive.ArchiveDataKind... dataKinds)
        Liefert eine beliebige Anzahl an Archivdatensätzen vor einem definierten Zeitpunkt.

        Hinweis: Diese Methode sollte nur für Anfragen benutzt werden, die relativ kleine Datenmengen abfragen, da die Abfrage sonst sehr lange dauern oder gar fehlschlagen kann. Besser ist es die Methode getArchivdatenIterator(Aspekt, long, int, boolean, ArchiveDataKind...) zu verwenden.

        Parameters:
        asp - der Aspekt für den Daten gesucht werden.
        zeitstempel - der Zeitpunkt vor dem die Datensätze liegen sollen.
        anzahlDatensaetze - die Anzahl der gewünschten Datensätze.
        nurAenderungen - true, wenn nur geänderten Datensätze zurückgeben werden sollen. Aufeinanderfolgende identische Datensätze werden hierbei zu einem Datensatz zusammengefasst.
        dataKinds - die gewünschten Datensatzarten. Wenn nicht angegeben, werden nur Onlinedaten abgefragt.
        Returns:
        die Liste der Archivdaten.
        See Also:
        ArchivIterator, getArchivdatenIterator(Aspekt, long, int, boolean, ArchiveDataKind...)
      • getSingleDatum

        T getSingleDatum​(Aspekt asp)
        Gibt die aktuellen Daten des Datensatzes zurück. Die implizite Empfängeranmeldung wird sofort abgemeldet.
        Parameters:
        asp - der betroffene Aspekt.
        Returns:
        ein Datum, welches die Daten des Datensatzes kapselt.
      • getDatum

        T getDatum​(Aspekt asp,
                   long unsubscriptionIntervall)
        Gibt die aktuellen Daten des Datensatzes zurück. Es erfolgt eine implizite Empfängeranmeldung für das angegebene Intervall in Millisekunden.
        Parameters:
        asp - der betroffene Aspekt.
        unsubscriptionIntervall - das Intervall für die eine implizite Empfängeranmeldung gültig sein soll.
        Returns:
        ein Datum, welches die Daten des Datensatzes kapselt.