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 Details

    • 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:
    • disconnect

      void disconnect(boolean error, 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

      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(String userName, 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(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(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, 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, 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, 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.
    • unsubscribeReceiver

      void unsubscribeReceiver(ClientReceiverInterface receiver, SystemObject[] objects, DataDescription dataDescription)
      Parameters:
      receiver - Das Anwendungsobjekt, das bei der Anmeldung benutzt wurde.
      objects - Feld mit System-Objekten für die die spezifizierten Daten abzumelden sind.
      dataDescription - Beschreibende Informationen zu den abzumeldenden Daten.
    • unsubscribeReceiver

      default void unsubscribeReceiver(ClientReceiverInterface receiver, Collection<? extends SystemObject> objects, DataDescription dataDescription)
      Parameters:
      receiver - Das Anwendungsobjekt, das bei der Anmeldung benutzt wurde.
      objects - Liste mit System-Objekten für die die spezifizierten Daten abzumelden sind.
      dataDescription - Beschreibende Informationen zu den abzumeldenden Daten.
      Since:
      3.13 Seit 3.13 akzeptiert diese Methode Collections mit Subtypen von SystemObject
    • unsubscribeReceiver

      void unsubscribeReceiver(ClientReceiverInterface receiver, SystemObject object, DataDescription dataDescription)
      Parameters:
      receiver - Das Anwendungsobjekt, das bei der Anmeldung benutzt wurde.
      object - System-Objekt für das die spezifizierten Daten abzumelden sind.
      dataDescription - Beschreibende Informationen zu den abzumeldenden Daten.
    • unsubscribeSender

      default void unsubscribeSender(ClientSenderInterface sender, Collection<? extends SystemObject> objects, DataDescription dataDescription)
      Parameters:
      sender - Das Anwendungsobjekt, das bei der Anmeldung benutzt wurde.
      objects - Liste mit System-Objekten für die die spezifizierten Daten abzumelden sind.
      dataDescription - Beschreibende Informationen zu den abzumeldenden Daten.
      Since:
      3.13 Seit 3.13 akzeptiert diese Methode Collections mit Subtypen von SystemObject
    • unsubscribeSender

      void unsubscribeSender(ClientSenderInterface sender, SystemObject[] objects, DataDescription dataDescription)
      Parameters:
      sender - Das Anwendungsobjekt, das bei der Anmeldung benutzt wurde.
      objects - Feld mit System-Objekten für die die spezifizierten Daten abzumelden sind.
      dataDescription - Beschreibende Informationen zu den abzumeldenden Daten.
    • unsubscribeSender

      void unsubscribeSender(ClientSenderInterface sender, SystemObject object, DataDescription dataDescription)
      Parameters:
      sender - Das Anwendungsobjekt, das bei der Anmeldung benutzt wurde.
      object - System-Objekt für das die spezifizierten Daten abzumelden sind.
      dataDescription - Beschreibende Informationen zu den abzumeldenden Daten.
    • 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(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

      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

      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:
      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:
      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:
      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:
    • 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:
    • getSubscriptionInfo

      ClientSubscriptionInfo getSubscriptionInfo(DavApplication davApplication, SystemObject object, AttributeGroupUsage usage, short simulationVariant) throws 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:
      IOException - Falls der Datenverteiler die Anfrage nicht erlaubt oder nicht unterstützt
      Since:
      3.9.2
    • getSubscriptionInfo

      ApplicationSubscriptionInfo getSubscriptionInfo(DavApplication davApplication, ClientApplication application) throws 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:
      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:
    • 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(String userName, 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