Interface ClientDavInterface

  • All Known Implementing Classes:
    ClientDavConnection

    public interface ClientDavInterface
    Schnittstellenklasse, die die logische Verbindung zum Datenverteiler repräsentiert. Über ein Objekt dieser Klasse kann die Verbindung zum Datenverteiler aufgenommen und wieder terminiert, sowie Daten an- und abgemeldet und gelesen und geschrieben werden. Außerdem wird über die logische Verbindung der Zugriff auf spezielle System-Objekte ermöglicht.
    • Method Detail

      • connect

        void connect()
              throws CommunicationError,
                     ConnectionException
        Initialisiert einen Kommunikationskanal zum Datenverteiler mit den in den Verbindungsparametern angegebenen Adressinformationen. Nach dem Aufbau der physischen Verbindung wird die in der Kommunikation mit dem Datenverteiler zu verwendende Protokollversion verhandelt und die logische Verbindung in den Zustand Initialisiert überführt.
        Throws:
        ConnectionException - Wenn die physische Verbindung zum Datenverteiler nicht hergestellt werden konnte.
        CommunicationError - Wenn bei der initialen Kommunikation mit dem Datenverteiler Fehler aufgetreten sind.
        See Also:
        ClientDavParameters
      • disconnect

        void disconnect​(boolean error,
                        java.lang.String message)
        Terminiert die Verbindung mit dem Datenverteiler. Der physische Kommunikationskanal zum Datenverteiler wird geschlossen und die logische Verbindung in den Zustand AußerBetrieb überführt. Bei einer normalen Terminierung wird sichergestellt, daß alle im Sendepuffer enthaltenen Telegramme vor dem Schließen des Kommunikationskanals gesendet werden. Bei einer abnormalen Terminierung wird der Kommunikationskanal sofort geschlossen.
        Parameters:
        error - Information, ob es sich um eine abnormale Terminierung der Verbindung handelt.
        message - Fehlertext, der im Falle einer abnormalen Terminierung die Ursache des Terminierung beschreibt, oder null wenn die Ursache nicht bekannt ist.
      • login

        void login()
            throws InconsistentLoginException,
                   CommunicationError
        Start der logischen Verbindung mit dem Datenverteiler. Dabei wird eine Authentifizierung des Benutzers beim Datenverteiler durchgeführt und die logische Verbindung in den Zustand InBetrieb überführt. Als Benutzername und Passwort werden die entsprechenden Werte aus den Verbindungsparametern benutzt.
        Throws:
        InconsistentLoginException - Wenn Benutzername oder Passwort nicht korrekt sind.
        CommunicationError - Wenn bei der Kommunikation mit dem Datenverteiler Fehler aufgetreten sind.
      • login

        void login​(java.lang.String userName,
                   java.lang.String password)
            throws InconsistentLoginException,
                   CommunicationError
        Start der logischen Verbindung mit dem Datenverteiler. Dabei wird eine Authentifizierung des Benutzers beim Datenverteiler durchgeführt und die logische Verbindung in den Zustand InBetrieb überführt.
        Parameters:
        userName - Name des Benutzers für die Authentifizierung.
        password - Passwort des Benutzers für die Authentifizierung.
        Throws:
        InconsistentLoginException - Wenn Benutzername oder Passwort nicht korrekt sind.
        CommunicationError - Wenn bei der Kommunikation mit dem Datenverteiler Fehler aufgetreten sind.
      • login

        default void login​(java.lang.String userName,
                           char[] password)
                    throws InconsistentLoginException,
                           CommunicationError
        Start der logischen Verbindung mit dem Datenverteiler. Dabei wird eine Authentifizierung des Benutzers beim Datenverteiler durchgeführt und die logische Verbindung in den Zustand InBetrieb überführt.
        Parameters:
        userName - Name des Benutzers für die Authentifizierung.
        password - Passwort des Benutzers für die Authentifizierung.
        Throws:
        InconsistentLoginException - Wenn Benutzername oder Passwort nicht korrekt sind.
        CommunicationError - Wenn bei der Kommunikation mit dem Datenverteiler Fehler aufgetreten sind.
      • login

        default void login​(java.lang.String userName,
                           ClientCredentials clientCredentials)
                    throws InconsistentLoginException,
                           CommunicationError
        Start der logischen Verbindung mit dem Datenverteiler. Dabei wird eine Authentifizierung des Benutzers beim Datenverteiler durchgeführt und die logische Verbindung in den Zustand InBetrieb überführt.
        Parameters:
        userName - Name des Benutzers für die Authentifizierung.
        clientCredentials - Passwort oder Login-Token
        Throws:
        InconsistentLoginException - Wenn Benutzername oder Passwort nicht korrekt sind.
        CommunicationError - Wenn bei der Kommunikation mit dem Datenverteiler Fehler aufgetreten sind.
      • subscribeReceiver

        void subscribeReceiver​(ClientReceiverInterface receiver,
                               SystemObject[] objects,
                               DataDescription dataDescription,
                               ReceiveOptions options,
                               ReceiverRole role,
                               long cacheTime)
        Anmeldung zum Empfangen von Daten. Mit der Anmeldung wird von der Applikation ein Objekt bereitgestellt, daß bei nachfolgenden Aktualisierungen der Daten entsprechend benachrichtigt wird.
        Parameters:
        receiver - Ein von der Applikation bereitzustellendes Objekt, das bei Aktualisierungen entsprechende Methodenaufrufe erhält.
        objects - Feld mit System-Objekten für die die spezifizierten Daten anzumelden sind.
        dataDescription - Beschreibende Informationen zu den anzumeldenden Daten.
        options - Für die Anmeldung zu verwendende Optionen.
        role - Für die Anmeldung zu verwendende Rolle (Empfänger oder Senke).
        cacheTime - Vorhaltezeitraum in Millisekunden. Der Vorhaltezeitraum spezifiziert, wie lange empfangene Daten zwischengespeichert werden sollen. Der Wert -1 setzt den Vorhaltezeitraum auf den Default-Wert.
      • subscribeReceiver

        void subscribeReceiver​(ClientReceiverInterface receiver,
                               SystemObject[] objects,
                               DataDescription dataDescription,
                               ReceiveOptions options,
                               ReceiverRole role)
        Anmeldung zum Empfangen von Daten. Mit der Anmeldung wird von der Applikation ein Objekt bereitgestellt, daß bei nachfolgenden Aktualisierungen der Daten entsprechend benachrichtigt wird.
        Parameters:
        receiver - Ein von der Applikation bereitzustellendes Objekt, das bei Aktualisierungen entsprechende Methodenaufrufe erhält.
        objects - Feld mit System-Objekten für die die spezifizierten Daten anzumelden sind.
        dataDescription - Beschreibende Informationen zu den anzumeldenden Daten.
        options - Für die Anmeldung zu verwendende Optionen.
        role - Für die Anmeldung zu verwendende Rolle (Empfänger oder Senke).
      • subscribeReceiver

        void subscribeReceiver​(ClientReceiverInterface receiver,
                               SystemObject object,
                               DataDescription dataDescription,
                               ReceiveOptions options,
                               ReceiverRole role,
                               long cacheTime)
        Anmeldung zum Empfangen von Daten. Mit der Anmeldung wird von der Applikation ein Objekt bereitgestellt, daß bei nachfolgenden Aktualisierungen der Daten entsprechend benachrichtigt wird.
        Parameters:
        receiver - Ein von der Applikation bereitzustellendes Objekt, das bei Aktualisierungen entsprechende Methodenaufrufe erhält.
        object - System-Objekt für das die spezifizierten Daten anzumelden sind.
        dataDescription - Beschreibende Informationen zu den anzumeldenden Daten.
        options - Für die Anmeldung zu verwendende Optionen.
        role - Für die Anmeldung zu verwendende Rolle (Empfänger oder Senke).
        cacheTime - Vorhaltezeitraum in Millisekunden. Der Vorhaltezeitraum spezifiziert, wie lange empfangene Daten zwischengespeichert werden sollen. Der Wert -1 setzt den Vorhaltezeitraum auf den Default-Wert.
      • subscribeReceiver

        void subscribeReceiver​(ClientReceiverInterface receiver,
                               SystemObject object,
                               DataDescription dataDescription,
                               ReceiveOptions options,
                               ReceiverRole role)
        Anmeldung zum Empfangen von Daten. Mit der Anmeldung wird von der Applikation ein Objekt bereitgestellt, daß bei nachfolgenden Aktualisierungen der Daten entsprechend benachrichtigt wird.
        Parameters:
        receiver - Ein von der Applikation bereitzustellendes Objekt, das bei Aktualisierungen entsprechende Methodenaufrufe erhält.
        object - System-Objekt für das die spezifizierten Daten anzumelden sind.
        dataDescription - Beschreibende Informationen zu den anzumeldenden Daten.
        options - Für die Anmeldung zu verwendende Optionen.
        role - Für die Anmeldung zu verwendende Rolle (Empfänger oder Senke).
      • subscribeReceiver

        void subscribeReceiver​(ClientReceiverInterface receiver,
                               java.util.Collection<? extends SystemObject> objects,
                               DataDescription dataDescription,
                               ReceiveOptions options,
                               ReceiverRole role,
                               long cacheTime)
        Anmeldung zum Empfangen von Daten. Mit der Anmeldung wird von der Applikation ein Objekt bereitgestellt, daß bei nachfolgenden Aktualisierungen der Daten entsprechend benachrichtigt wird.
        Parameters:
        receiver - Ein von der Applikation bereitzustellendes Objekt, das bei Aktualisierungen entsprechende Methodenaufrufe erhält.
        objects - Liste mit System-Objekten für die die spezifizierten Daten anzumelden sind.
        dataDescription - Beschreibende Informationen zu den anzumeldenden Daten.
        options - Für die Anmeldung zu verwendende Optionen.
        role - Für die Anmeldung zu verwendende Rolle (Empfänger oder Senke).
        cacheTime - Vorhaltezeitraum in Millisekunden. Der Vorhaltezeitraum spezifiziert, wie lange empfangene Daten zwischengespeichert werden sollen. Der Wert -1 setzt den Vorhaltezeitraum auf den Default-Wert.
        Since:
        3.13 Seit 3.13 akzeptiert diese Methode Collections mit Subtypen von SystemObject
      • subscribeReceiver

        default void subscribeReceiver​(ClientReceiverInterface receiver,
                                       java.util.Collection<? extends SystemObject> objects,
                                       DataDescription dataDescription,
                                       ReceiveOptions options,
                                       ReceiverRole role)
        Anmeldung zum Empfangen von Daten. Mit der Anmeldung wird von der Applikation ein Objekt bereitgestellt, daß bei nachfolgenden Aktualisierungen der Daten entsprechend benachrichtigt wird.
        Parameters:
        receiver - Ein von der Applikation bereitzustellendes Objekt, das bei Aktualisierungen entsprechende Methodenaufrufe erhält.
        objects - Liste mit System-Objekten für die die spezifizierten Daten anzumelden sind.
        dataDescription - Beschreibende Informationen zu den anzumeldenden Daten.
        options - Für die Anmeldung zu verwendende Optionen.
        role - Für die Anmeldung zu verwendende Rolle (Empfänger oder Senke).
        Since:
        3.13 Seit 3.13 akzeptiert diese Methode Collections mit Subtypen von SystemObject
      • subscribeSender

        default void subscribeSender​(ClientSenderInterface sender,
                                     java.util.Collection<? extends SystemObject> objects,
                                     DataDescription dataDescription,
                                     SenderRole role)
                              throws OneSubscriptionPerSendData
        Anmeldung zum Senden von Daten. Für jedes mit objects angegebene Objekt wird ein Sendeanmeldung für die mit dataDescription spezifizierten Daten beim Datenverteiler durchgeführt. Bei Anmeldungen als Quelle (siehe Parameter role) wird nach der Anmeldung automatisch ein leerer Datensatz versendet.
        Parameters:
        sender - Anwendungs-Objekt, an das Sendesteuerungen gesendet werden.
        objects - Liste mit System-Objekten für die die spezifizierten Daten anzumelden sind.
        dataDescription - Beschreibende Informationen zu den anzumeldenden Daten.
        role - Für die Anmeldung zu verwendende Rolle (Quelle oder Sender).
        Throws:
        OneSubscriptionPerSendData - Wenn bereits eine lokale Sendeanmeldung für die gleichen Daten von einem anderen Anwendungsobjekt vorliegt.
        Since:
        3.13 Seit 3.13 akzeptiert diese Methode Collections mit Subtypen von SystemObject
      • subscribeSender

        void subscribeSender​(ClientSenderInterface sender,
                             SystemObject[] objects,
                             DataDescription dataDescription,
                             SenderRole role)
                      throws OneSubscriptionPerSendData
        Anmeldung zum Senden von Daten. Für jedes mit objects angegebene Objekt wird ein Sendeanmeldung für die mit dataDescription spezifizierten Daten beim Datenverteiler durchgeführt. Bei Anmeldungen als Quelle (siehe Parameter role) wird nach der Anmeldung automatisch ein leerer Datensatz versendet.
        Parameters:
        sender - Anwendungs-Objekt, an das Sendesteuerungen gesendet werden.
        objects - Feld mit System-Objekten, für die die spezifizierten Daten anzumelden sind.
        dataDescription - Beschreibende Informationen zu den anzumeldenden Daten.
        role - Für die Anmeldung zu verwendende Rolle (Quelle oder Sender).
        Throws:
        OneSubscriptionPerSendData - Wenn bereits eine lokale Sendeanmeldung für die gleichen Daten von einem anderen Anwendungsobjekt vorliegt.
      • subscribeSender

        void subscribeSender​(ClientSenderInterface sender,
                             SystemObject object,
                             DataDescription dataDescription,
                             SenderRole role)
                      throws OneSubscriptionPerSendData
        Anmeldung zum Senden von Daten. Für das angegebene Objekt wird ein Sendeanmeldung für die mit dataDescription spezifizierten Daten beim Datenverteiler durchgeführt. Bei Anmeldungen als Quelle (siehe Parameter role) wird nach der Anmeldung automatisch ein leerer Datensatz versendet.
        Parameters:
        sender - Anwendungs-Objekt, an das Sendesteuerungen gesendet werden.
        object - System-Objekt, für das die spezifizierten Daten anzumelden sind.
        dataDescription - Beschreibende Informationen zu den anzumeldenden Daten.
        role - Für die Anmeldung zu verwendende Rolle (Quelle oder Sender).
        Throws:
        OneSubscriptionPerSendData - Wenn bereits eine lokale Sendeanmeldung für die gleichen Daten von einem anderen Anwendungsobjekt vorliegt.
      • subscribeSource

        void subscribeSource​(ClientSenderInterface sender,
                             ResultData initialData)
                      throws OneSubscriptionPerSendData
        Anmeldung als Quelle und versenden von initialen Daten. Für die in initialData enthaltenen Daten wird ein entsprechende Sendeanmeldung beim Datenverteiler durchgeführt und anschließend wird der übergebene Datensatz als initialer Datensatz versendet.
        Parameters:
        sender - Anwendungs-Objekt, an das Sendesteuerungen gesendet werden.
        initialData - Initialer Datensatz, der nach der entsprechenden Anmeldung zu versenden ist.
        Throws:
        OneSubscriptionPerSendData - Wenn bereits eine lokale Sendeanmeldung für die gleichen Daten von einem anderen Anwendungsobjekt vorliegt.
      • getDataModel

        DataModel getDataModel()
        Gibt das Datenmodell zurück, über das auf die lokale Konfiguration zugegriffen werden kann.
        Returns:
        Datenmodell zum Zugriff auf die Konfiguration
      • getDataModel

        DataModel getDataModel​(SystemObject configAuthority)
                        throws ConfigurationTaskException
        Gibt ein Datenmodell zurück, über das auf eine beliebige Konfiguration zugegriffen werden kann.
        Parameters:
        configAuthority - Systemobjekt zum Konfigurationsverantwortlichen der Konfiguration
        Returns:
        Datenmodell zum Zugriff auf die Konfiguration.
        Throws:
        ConfigurationTaskException - Falls die angegebene Konfiguration innerhalb von 10 Minuten nicht geantwortet hat oder ein Fehler in der Kommunikation auftrat
      • getDataModel

        DataModel getDataModel​(java.lang.String configAuthority)
                        throws ConfigurationTaskException
        Gibt ein Datenmodell zurück, über das auf eine beliebige Konfiguration zugegriffen werden kann.
        Parameters:
        configAuthority - Pid des Konfigurationsverantwortlichen der Konfiguration
        Returns:
        Datenmodell zum Zugriff auf die Konfiguration.
        Throws:
        ConfigurationTaskException - Falls die angegebene Konfiguration innerhalb von 10 Minuten nicht geantwortet hat oder ein Fehler in der Kommunikation auftrat
      • getDataModel

        DataModel getDataModel​(long configAuthority)
                        throws ConfigurationTaskException
        Gibt ein Datenmodell zurück, über das auf eine beliebige Konfiguration zugegriffen werden kann. Diese Funktion kann verwendet werden, wenn das Systemobjekt des Konfigurationsverantwortlichen der lokalen Konfiguration nicht bekannt ist.
        Parameters:
        configAuthority - Id des Konfigurationsverantwortlichen der Konfiguration
        Returns:
        Datenmodell zum Zugriff auf die Konfiguration.
        Throws:
        ConfigurationTaskException - Falls die angegebene Konfiguration innerhalb von 10 Minuten nicht geantwortet hat oder ein Fehler in der Kommunikation auftrat
      • getLocalDav

        DavApplication getLocalDav()
        Gibt das Stellvertreterobjekt für den Datenverteiler, mit dem die Applikation verbunden ist, zurück.
        Returns:
        Stellvertreterobjekt für den verbundenen Datenverteiler.
      • getLocalApplicationObject

        ClientApplication getLocalApplicationObject()
        Gibt das Stellvertreterobjekt für diese Applikation zurück. Die Erzeugung des entsprechenden Objekts in der Konfiguration wird vom Datenverteiler nach dem Verbindungsaufbau und der erfolgreichen Authentifizierung veranlasst.
        Returns:
        Stellvertreterobjekt für die lokale Applikation.
      • getLocalUser

        DynamicObject getLocalUser()
        Bestimmt das Systemobjekt für den angemeldeten Benutzer.
        Returns:
        Stellvertreterobjekt für den angemeldeten Benutzer.
      • getLocalConfigurationAuthority

        ConfigurationAuthority getLocalConfigurationAuthority()
        Gibt das Stellvertreterobjekt des zugeordneten Konfigurationsverantwortlichen zurück.
        Returns:
        Konfigurationsverantwortlicher.
      • getDavRoundTripTime

        long getDavRoundTripTime()
        Bestimmt die Telegrammlaufzeit von dieser Applikation zum lokalen Datenverteiler und zurück.
        Returns:
        Telegrammlaufzeit in Millisekunden oder -1, wenn innerhalb 60 Sekunden keine Antwort empfangen wurde.
      • getCachedData

        ResultData[] getCachedData​(SystemObject[] objects,
                                   DataDescription dataDescription,
                                   ReceiveOptions options,
                                   HistorySpecification history)
        Zugriff auf zwischengespeicherte Datensätze. Über die optionale Zeitangabe kann auch auf historische Datensätze im Zwischenspeicher zugegriffen werden.
        Parameters:
        objects - Feld mit System-Objekten für die die spezifizierten Daten zu lesen sind.
        dataDescription - Beschreibende Informationen zu den gewünschten Daten.
        options - Für den Zugriff zu verwendenden Optionen
        history - Spezifikation der gewünschten Historie oder null wenn nur die aktuellen Daten gewünscht sind.
        Returns:
        Zeitlich sortiertes Feld mit den gewünschten Daten.
      • getData

        ResultData getData​(SystemObject object,
                           DataDescription dataDescription,
                           long unsubscriptionTime)
        Zugriff auf den aktuellen Datensatz eines System-Objekts. Wenn der spezifizierte Datensatz zwischengespeichert ist, dann wird er sofort zur Verfügung gestellt. Wenn der Datensatz nicht angemeldet ist, dann wird er implizit angemeldet. Falls noch kein Ergebnis vorliegt, wartet die Methode darauf. Eine implizite Anmeldung wird wieder rückgängig gemacht, wenn über eine angegebene Zeitspanne kein Zugriff mehr auf das Datum erfolgte.
        Parameters:
        object - System-Objekt für das die spezifizierten Daten zu lesen sind.
        dataDescription - Beschreibende Informationen zu dem zu lesenden Datensatz.
        unsubscriptionTime - Relative Zeitangabe in Millisekunden nach der eine implizite Anmeldung wieder abgemeldet werden kann.
        Returns:
        Der aktuelle Datensatz.
      • getData

        ResultData[] getData​(SystemObject[] objects,
                             DataDescription dataDescription,
                             long unsubscriptionTime)
        Zugriff auf die aktuellen Datensätze von verschiedenen System-Objekten. Wenn einzelne der spezifizierten Datensätze nicht angemeldet sind, dann werden sie implizit angemeldet. Falls zu einzelnen spezifizierten Datensätzen noch kein Ergebnis vorliegt, wird darauf gewartet. Eine implizite Anmeldung wird wieder rückgängig gemacht, wenn über eine angegebene Zeitspanne kein Zugriff mehr auf das Datum erfolgte.
        Parameters:
        objects - Feld mit System-Objekten für die die spezifizierten Daten zu lesen sind.
        dataDescription - Beschreibende Informationen der zu lesenden Daten.
        unsubscriptionTime - Relative Zeitangabe in Millisekunden nach der eine implizite Anmeldung wieder abgemeldet werden kann.
        Returns:
        Feld mit den aktuellen Datensätzen.
      • createData

        default Data createData​(AttributeGroup attributeGroup)
        Erzeugt ein neues Data-Objekt zu der angegebenen Attributgruppe. Mit diesem Data-Objekt können Daten zu der Attributgruppe hinterlegt werden. Das erzeugte Data-Objekt kann dann mit Werten befüllt werden (z. B. data.getTextValue("Attribut").setText("Test");) und dann später entweder konfigurierend gespeichert werden oder als Online-Datensatz versendet werden. Für letzteres muss das Data-Objekt noch in ein ResultData verpackt werden, um Meta-Informationen wie den Datenzeitstempel zu ergänzen.

        Diese Methode kann durch AttributeGroup.createData() ersetzt werden, falls keine Kompatibilität mit alten Kernsoftware-Versionen erforderlich ist.

        Parameters:
        attributeGroup - Attributgruppe des neuen Datensatzes.
        Returns:
        Neuen initialisierten Datensatz.
      • sendData

        void sendData​(ResultData result)
               throws DataNotSubscribedException,
                      SendSubscriptionNotConfirmed
        Sendet einen Ergebnisdatensatz zum Datenverteiler. Die Daten müssen vorher zum Senden angemeldet worden sein. Falls beim ersten Sendeversuch keine positive/negative Sendesteuerung vorhanden ist, wird ein fest vorgegebener Zeitraum abgewartet in dem eine positive/negative Sendesteuerung vorliegen muss. Wenn nach Ablauf des Zeitraums keine positive/negative Sendesteuerung vorliegt, wird eine SendSubscriptionNotConfirmed Exception geworfen, falls die positive Sendesteuerung vor dem Ablauf des Zeitraums vorliegt, werden die Daten verschickt, liegt eine negative Sendesteuerung vor, wird eine SendSubscriptionNotConfirmed Exception geworfen.
        Falls die Sendesteuerung nach dem ersten erfolgreichen Sendeversuch wieder negativ wird, und es sollen erneut Daten verschickt werden, wird eine SendSubscriptionNotConfirmed Exception geworfen ohne die fest vorgegebene Zeitspanne abzuwarten.
        Parameters:
        result - Ergebnis mit dem zu sendenden Datensatz.
        Throws:
        DataNotSubscribedException - Wenn die Daten nicht zum Senden angemeldet waren.
        SendSubscriptionNotConfirmed - Wenn beim Senden als einfacher Sender gesendet wird, ohne die Sendesteuerung abzuwarten.
      • sendData

        void sendData​(ResultData[] results)
               throws DataNotSubscribedException,
                      SendSubscriptionNotConfirmed
        Sendet mehrere Ergebnisdatensätze zum Datenverteiler. Die Daten müssen vorher zum Senden angemeldet worden sein. Falls beim ersten Sendeversuch keine positive/negative Sendesteuerung vorhanden ist, wird ein fest vorgegebener Zeitraum abgewartet in dem eine positive/negative Sendesteuerung vorliegen muss. Wenn nach Ablauf des Zeitraums keine positive/negative Sendesteuerung vorliegt, wird eine SendSubscriptionNotConfirmed Exception geworfen, falls die positive Sendesteuerung vor dem Ablauf des Zeitraums vorliegt, werden die Daten verschickt, liegt eine negative Sendesteuerung vor, wird eine SendSubscriptionNotConfirmed Exception geworfen.
        Falls die Sendesteuerung nach dem ersten erfolgreichen Sendeversuch wieder negativ wird, und es sollen erneut Daten verschickt werden, wird eine SendSubscriptionNotConfirmed Exception geworfen ohne die fest vorgegebene Zeitspanne abzuwarten.
        Parameters:
        results - Die zu sendenden Ergebnisdatensätze.
        Throws:
        DataNotSubscribedException - Wenn nicht alle Datensätze zum Senden angemeldet waren.
        SendSubscriptionNotConfirmed - Wenn beim Senden als einfacher Sender gesendet wird, ohne die Sendesteuerung abzuwarten.
      • setCloseHandler

        void setCloseHandler​(ApplicationCloseActionHandler closer)
        Setzt das Objekt, das für die Behandlung von Fehlern der Kommunikationsverbindung zuständig ist. Die Applikation kann mit dem übergebenen Objekt selbst steuern, wie Verbindungsfehler dargestellt wird, und ob sich die Applikation beenden oder eine neue Verbindung aufbauen soll. Wenn diese Methode nicht aufgerufen wird, wird als Default ein Objekt der Klasse SystemTerminator benutzt, das bei Kommunikationsfehlern eine Fehlermeldung ausgibt und die Applikation terminiert.
        Parameters:
        closer - Objekt für die Behandlung von Kommunikationsfehlern oder null, falls bei einem Verbindungsfehler nichts passieren soll.
      • getTime

        long getTime()
        Bestimmt die aktuelle Zeit oder, wenn die Applikation mit der Simulationsvariante einer Offline-Simulation gestartet wurde, die simulierte Zeit.
        Returns:
        Zeitpunkt in Millisekunden seit 1970.
        Throws:
        java.lang.IllegalStateException - Wenn die simulierte Zeit im Fall einer Simulation nicht bestimmt werden kann.
      • sleep

        void sleep​(long timeToSleep)
        Blockiert den aufrufenden Thread für die spezifizierte Zeit. Die angegebene Dauer der Pause wird in Realzeit oder, wenn die Applikation mit der Simulationsvariante einer Offline-Simulation gestartet wurde, im Zeitfluss der Simulation berücksichtigt.
        Parameters:
        timeToSleep - Wartezeit in Millisekunden seit 1970.
        Throws:
        java.lang.IllegalStateException - Wenn der simulierte Zeitfluss im Fall einer Simulation nicht bestimmt werden kann.
      • sleepUntil

        void sleepUntil​(long absoluteTime)
        Blockiert den aufrufenden Thread bis die spezifizierte Zeit erreicht ist. Der angegebene Zeitpunkt wird in Realzeit oder, wenn die Applikation mit der Simulationsvariante einer Offline-Simulation gestartet wurde, im Zeitfluss der Simulation berücksichtigt.
        Parameters:
        absoluteTime - Abzuwartender Zeitpunkt in Millisekunden seit 1970.
        Throws:
        java.lang.IllegalStateException - Wenn der simulierte Zeitfluss im Fall einer Simulation nicht bestimmt werden kann.
      • getArchive

        ArchiveRequestManager getArchive()
        Liefert ein Stellvertreterobjekt zurück, mit dem streambasierte Archivanfragen über das lokale Archivsystem abgewickelt werden können. Dieser Aufruf ist äquivalent zu dem Aufruf getArchive(getLocalConfigurationAuthority).
        Returns:
        Stellvertreterobjekt zur Abwicklung von Archivanfragen über das lokale Archivsystem.
        See Also:
        getLocalConfigurationAuthority(), getArchive(SystemObject)
      • getArchive

        ArchiveRequestManager getArchive​(SystemObject archiveSystem)
        Liefert ein Stellvertreterobjekt zurück, mit dem streambasierte Archivanfragen über ein bestimmtes Archivsystem abgewickelt werden können. Es wird eine Verbindung zu demjenigen Archivsystem hergestellt, dass über das angegebene System-Objekt identifiziert wird.
        Parameters:
        archiveSystem - Archivsystem über das Archivanfragen abgewickelt werden sollen.
        Returns:
        Stellvertreterobjekt zur Abwicklung von Archivanfragen über das spezifizierte Archivsystem.
      • getEncryptionStatus

        default EncryptionStatus getEncryptionStatus()
        Liefert den aktuellen Zustand der Verschlüsselung zurück.
        Returns:
        Zustand der Verschlüsselung
      • getAuthenticationStatus

        default AuthenticationStatus getAuthenticationStatus()
        Liefert den aktuellen Zustand der Authentifizierung zurück.
        Returns:
        Zustand der Authentifizierung
      • getDefaultConfigurationArea

        ConfigurationArea getDefaultConfigurationArea​(DynamicObjectType dynamicObjectType)
        Gibt den Standard-Konfigurationsbereich für den angegebenen dynamischen Typen zurück. Die Methode greift auf den Parameterdatensatz `atg.verwaltungDynamischerObjekte` zu. Sollte dieser nicht vorhanden sein oder für den angegebenen Typen keine Zuordnung definiert sein, wird der Standardbereich des Konfigurationsverantwortlichen verwendet.

        Diese Methode bietet die gleiche Kern-Funktionalität wie die de.bsvrz.sys.funclib.dynobj, aber keine erweiterten Möglichkeiten zum Anlegen/Löschen von Objekten.

        Parameters:
        dynamicObjectType - Typ
        Returns:
        Default-Bereich in dem Objekte dieses Typs angelegt werden (kann in Ausnahmefällen null sein, wenn kein Parameter definiert wurde und kein Defaultbereich konfiguriert wurde)
        Since:
        3.9.2
        See Also:
        ConfigurationArea.createDynamicObject(DynamicObjectType, String, String, Collection)
      • getSubscriptionInfo

        ClientSubscriptionInfo getSubscriptionInfo​(DavApplication davApplication,
                                                   SystemObject object,
                                                   AttributeGroupUsage usage,
                                                   short simulationVariant)
                                            throws java.io.IOException
        Gibt detaillierte Informationen über die bestehenden Datenanmeldungen an einer Datenidentifikation zurück.

        Diese Abfrage greift auf interne Datenstrukturen im Datenverteiler zurück und ist ausschließlich für die Problemdiagnose und Überwachung gedacht. Sie sollte nicht in der normalen Programmlogik eingesetzt werden.

        Insbesondere darf diese Abfrage nicht dazu verwendet werden, festzustellen, ob schon ein Programm Daten zu einer Attributgruppenverwendung liefert. Hier wäre es weiterhin besser einen eigenen Sender oder Empfänger anzumelden und auf die Sendesteuerung bzw. empfangenen Datensätze zu reagieren.

        Parameters:
        davApplication - Datenverteiler, der gefragt werden soll
        object - Systemobjekt, das die Anmeldung betrifft
        usage - Attributgruppenverwendung, für das die Anmeldungen am angegebenen Objekt ermittelt werden sollen
        simulationVariant - Simulationsvariante der zu ermittelnden Anmeldungen
        Returns:
        Klasse mit Informationen über die angemeldeten Applikationen auf dieses Datum
        Throws:
        java.io.IOException - Falls der Datenverteiler die Anfrage nicht erlaubt oder nicht unterstützt
        Since:
        3.9.2
      • getSubscriptionInfo

        ApplicationSubscriptionInfo getSubscriptionInfo​(DavApplication davApplication,
                                                        ClientApplication application)
                                                 throws java.io.IOException
        Gibt Informationen über alle Datenanmeldungen einer Applikation zurück.

        Diese Abfrage greift auf interne Datenstrukturen im Datenverteiler zurück und ist ausschließlich für die Problemdiagnose und Überwachung gedacht. Sie sollte nicht in der normalen Programmlogik eingesetzt werden.

        Insbesondere darf diese Abfrage nicht dazu verwendet werden, festzustellen, ob schon ein Programm Daten zu einer Attributgruppenverwendung liefert. Hier wäre es weiterhin besser einen eigenen Sender oder Empfänger anzumelden und auf die Sendesteuerung bzw. empfangenen Datensätze zu reagieren.

        Einige Applikationen melden sehr viele Daten an. Dadurch kann diese Anfrage entsprechend lange dauern.

        Parameters:
        davApplication - Datenverteiler, der gefragt werden soll
        application - Applikation von der vorhandene Anmeldungen abgefragt werden sollen
        Returns:
        Klasse mit Informationen über die angemeldeten Daten der Applikation
        Throws:
        java.io.IOException - Falls der Datenverteiler die Anfrage nicht erlaubt oder nicht unterstützt
        Since:
        3.9.2
      • getClientDavParameters

        ClientDavParameters getClientDavParameters()
        Bestimmt die Verbindungsparameter der Datenverteiler-Applikationsfunktionen. Es wird eine schreibgeschützte Kopie zurückgegeben.
        Returns:
        Verbindungsparameter der Datenverteiler-Applikationsfunktionen
        See Also:
        ClientDavParameters.clone(boolean)
      • addConnectionListener

        void addConnectionListener​(DavConnectionListener davConnectionListener)
        Ergänzt einen neuen Beobachter für bestimmte Zustandsänderungen bzgl. der Verbindung zum Datenverteiler.
        Parameters:
        davConnectionListener - Beobachterobjekt, das hinzugefügt werden soll.
      • removeConnectionListener

        void removeConnectionListener​(DavConnectionListener davConnectionListener)
        Entfernt einen Beobachter für bestimmte Zustandsänderungen bzgl. der Verbindung zum Datenverteiler.
        Parameters:
        davConnectionListener - Beobachterobjekt, das entfernt werden soll.
      • sendApplicationReadyMessage

        void sendApplicationReadyMessage()
        Methode, die von der Applikation aufgerufen werden kann, um explizit eine Applikations-Fertigmeldung zu versenden. Die SW-Einheit Start/Stopp verzögert den Start von Applikationen, die von einer anderen Applikation abhängig sind, bis diese Applikation die Fertigmeldung versendet. Die Fertigmeldung wird automatisch nach dem Verbindungsaufbau versendet, wenn die Applikation nicht vor der Authentifizierung der Verbindung die Methode enableExplicitApplicationReadyMessage() aufgerufen hat.
      • enableExplicitApplicationReadyMessage

        void enableExplicitApplicationReadyMessage()
        Diese Methode sollte von Applikationen, die den Zeitpunkt zum Versand der Applikations-Fertigmeldung selbst vorgeben möchten, vor der Authentifizierung einer Datenverteilerverbindung aufrufen. Der Aufruf dieser Methode bewirkt, dass nach dem Verbindungsaufbau automatisch eine Noch-Nicht-Fertigmeldung am Applikationsobjekt versendet wird. Die Applikation sollte dann nach erfolgreicher Initialisierung den Versand der Fertig-Meldung mit der Methode sendApplicationReadyMessage() veranlassen.
      • checkLoggedUserNameAndPassword

        boolean checkLoggedUserNameAndPassword​(java.lang.String userName,
                                               java.lang.String password)
        Vergleicht den angegebenen Benutzernamen und das angegebene Benutzerpasswort mit den entsprechenden Werten, die beim Verbindungsaufbau zum Datenverteiler benutzt wurden.
        Parameters:
        userName - Zu prüfender Benutzername
        password - Zu prüfendes Passwort
        Returns:
        true, wenn eine Verbindung zum Datenverteiler besteht und mit dem angegebenen Benutzernamen und Passwort aufgebaut wurde, sonst false
      • getTransactions

        Transactions getTransactions()
        Gibt eine Klasse zurück, die für diese Verbindung Transaktions-Anmeldungen durchführt.
        Returns:
        Klasse die Funktionen zu Transaktionen bietet
      • isConnected

        boolean isConnected()
        Gibt true zurück, wenn die Verbindung aufgebaut wurde.
        Returns:
        true, wenn die Verbindung aufgebaut wurde, sonst false
        Since:
        3.9.2
      • isLoggedIn

        boolean isLoggedIn()
        Gibt true zurück, wenn der Benutzer erfolgreich eingeloggt ist.
        Returns:
        true, wenn der Benutzer erfolgreich eingeloggt ist, sonst false
        Since:
        3.9.2
      • getAccessControlManager

        AccessControlManager getAccessControlManager()
        Gibt ein Objekt zurück, mit dem die Rechte des eigenen oder eines anderen Benutzers abgefragt werden können.

        Diese Rechte werden clientseitig anhand der vorhandenen Daten ermittelt und können ggf. vom Laufzeitverhalten abweichen, insbesondere wenn die Rechte von mehreren Datenverteilern mit unterschiedlicher Parametrierung geprüft werden oder ein Datensatz unter Verwendung von mehreren Benutzern übertragen wird.

        Eine Rückgabe von true von UserInfo.maySubscribeData heißt also nicht, dass der Datensatz in jedem Fall ankommt, sondern nur, dass der lokale Datenverteiler diesen anhand der aktuellen Parametrierung (voraussichtlich) nicht filtern wird.

        Es werden nur die Rechte beim lokalen Datenverteiler geprüft!

        Das zurückgegebene Objekt kann verwendet werden, um beispielsweise Buttons oder Menüs bei fehlenden Rechten zu deaktivieren oder auszublenden.

        Außerdem kann das Objekt dazu verwendet werden, statt dem Datenverteiler innerhalb einer Applikation beliebige Rechte lokal zu prüfen. So kann bspw. die PuA-Applikation, die Aufträge eines Benutzers annimmt und dann in dessen Namen Daten abfragt, prüfen, ob der Benutzer berechtigt ist, die Daten überhaupt abzufragen. Der Datenverteiler kann diese Prüfung nicht vornehmen, da aus seiner Sicht alle Daten von der PuA-Applikation (und dem Benutzer unter dem diese gestartet wurde) selbst abgefragt werden.

        Hinweis: Ist die verwendete Rechteprüfung des Datenverteilers nicht abfragbar, weil dieser eine zu alte Version verwendet oder das Datenmodell veraltet ist, wird angenommen, dass die alte Rechteprüfung verwendet wird. Im Zweifelsfall werden dadurch Operationen als verboten aufgeführt, die eigentlich erlaubt sind. Das Problem kann durch ein Update des Datenmodells und der Kernsoftware am Datenverteiler gelöst werden.

        Returns:
        AccessControlManager
        Since:
        3.13
      • getAccessControlMode

        AccessControlMode getAccessControlMode()
        Gibt die vom lokalen Datenverteiler verwendete Art der Rechteprüfung zurück.
        Returns:
        Art der Rechteprüfung oder null, falls nicht ermittelbar
        Since:
        3.13
      • getAccessControlMode

        AccessControlMode getAccessControlMode​(DavApplication davApplication)
        Gibt die vom angegebenen Datenverteiler verwendete Art der Rechteprüfung zurück.
        Parameters:
        davApplication - Datenverteiler-Objekt
        Returns:
        Art der Rechteprüfung oder null, falls nicht ermittelbar
        Since:
        3.13