Class ClientDavParameters

java.lang.Object
de.bsvrz.dav.daf.main.ClientDavParameters
All Implemented Interfaces:
Cloneable

public class ClientDavParameters extends Object implements Cloneable
Parameter für die Datenverteiler-Applikationsfunktionen. Diese Klasse implementiert die Schnittstelle DatenverteilerApplikationsfunktionen-Starter. Beim Erzeugen eines Objekts dieser Klasse werden die Parameter auf die in den Aufrufargumenten der Applikation angegebenen Werte bzw. auf die festgelegten Default-Werte gesetzt. Einzelne Parameter können mit den entsprechenden Zugriffsmethoden gesetzt und abgefragt werden.
  • Constructor Details

    • ClientDavParameters

      public ClientDavParameters() throws MissingParameterException
      Erzeugt einen neuen Parametersatz mit Defaultwerten für die einzelnen Parameter.
      Throws:
      MissingParameterException - Bei formalen Fehlern beim Lesen der Defaultwerte.
    • ClientDavParameters

      public ClientDavParameters(de.bsvrz.sys.funclib.commandLineArgs.ArgumentList argumentList) throws MissingParameterException
      Erzeugt einen neuen Parametersatz mit Defaultwerten für die einzelnen Parameter und setzt die in den übergebenen Aufrufargumenten angegebenen Parameter mit den jeweils angegebenen Werten. Der Konstruktor implementiert die Starterschnittstelle der Datenverteilerapplikationsfunktionen. Bekannte Aufrufargumente werden nach der Umsetzung auf null gesetzt, um der Applikation zu signalisieren, daß diese Argumente bereits interpretiert wurden. Unbekannte Aufrufargumente werden ignoriert. Es ist Aufgabe der Applikation die verbleibenden Argumente zu interpretieren, bzw. eine ensprechende Fehlermeldung zu erzeugen, wenn die Argumente nicht interpretiert werden können.
      Parameters:
      argumentList - Argumentliste mit den beim Programmstart übergebenen Aufrufargumenten.
      Throws:
      MissingParameterException - Bei formalen Fehlern beim Lesen der Aufrufargumente oder der Defaultwerte.
    • ClientDavParameters

      public ClientDavParameters(String[] startArguments) throws MissingParameterException
      Erzeugt einen neuen Parametersatz mit Defaultwerten für die einzelnen Parameter und setzt die in den übergebenen Aufrufargumenten angegebenen Parameter mit den jeweils angegebenen Werten. Der Konstruktor implementiert die Starterschnittstelle der Datenverteilerapplikationsfunktionen. Bekannte Aufrufargumente werden nach der Umsetzung auf null gesetzt, um der Applikation zu signalisieren, daß diese Argumente bereits interpretiert wurden. Unbekannte Aufrufargumente werden ignoriert. Es ist Aufgabe der Applikation die verbleibenden Argumente zu interpretieren, bzw. eine ensprechende Fehlermeldung zu erzeugen, wenn die Argumente nicht interpretiert werden können.
      Parameters:
      startArguments - Die beim Programmstart übergebenen Aufrufargumente
      Throws:
      MissingParameterException - Bei formalen Fehlern beim Lesen der Aufrufargumente oder der Defaultwerte.
    • ClientDavParameters

      @Deprecated public ClientDavParameters(String configurationPid, String address, int subAddress, String userName, String userPassword, String applicationName, String authentificationProcessName, int maxTelegramSize, long receiveKeepAliveTimeout, long sendKeepAliveTimeout, int outputBufferSize, int inputBufferSize, String communicationProtocolName) throws MissingParameterException
      Deprecated.
      Benutzername und Passwort sollte direkt bei ClientDavInterface.login(String, ClientCredentials) übergeben werden
      Erzeugt einen neuen Parametersatz mit den angegebenen Werten.
      Parameters:
      configurationPid - Pid der Konfiguration
      address - Kommunikationsadresse des Datenverteilers (IP-Adresse oder Rechnername)
      subAddress - Kommunikationssubadresse des Datenverteilers (TCP-Portnummer)
      userName - Benutzername
      userPassword - Benutzerpasswort
      applicationName - Applikationsname
      authentificationProcessName - Klasse, die zur Authentifizierung genutzt werden soll
      maxTelegramSize - Maximale Telegrammgröße
      receiveKeepAliveTimeout - KeepAlive-Timeout beim Empfang von Telegrammen in Millisekunden.
      sendKeepAliveTimeout - KeepAlive-Timeout beim Versand von Telegrammen in Millisekunden.
      outputBufferSize - Größe des Sendepuffers in Bytes, der bei der Kommunikation mit dem Datenverteiler eingesetzt wird.
      inputBufferSize - Größe des Empfangspuffers in Bytes, der bei der Kommunikation mit dem Datenverteiler eingesetzt wird.
      communicationProtocolName - Klassenname des zu verwendenden Kommunikationsprotokolls
      Throws:
      MissingParameterException - Bei formalen Fehlern beim Lesen der Aufrufargumente oder der Defaultwerte.
    • ClientDavParameters

      public ClientDavParameters(String configurationPid, String address, int subAddress, String userName, String applicationName, String authentificationProcessName, int maxTelegramSize, long receiveKeepAliveTimeout, long sendKeepAliveTimeout, int outputBufferSize, int inputBufferSize, String communicationProtocolName, boolean allowHmacAuthentication, EncryptionConfiguration encryptionPreference) throws MissingParameterException
      Erzeugt einen neuen Parametersatz mit den angegebenen Werten.
      Parameters:
      configurationPid - Pid der Konfiguration
      address - Kommunikationsadresse des Datenverteilers (IP-Adresse oder Rechnername)
      subAddress - Kommunikationssubadresse des Datenverteilers (TCP-Portnummer)
      userName - Benutzername
      applicationName - Applikationsname
      authentificationProcessName - Klasse, die zur Authentifizierung genutzt werden soll
      maxTelegramSize - Maximale Telegrammgröße
      receiveKeepAliveTimeout - KeepAlive-Timeout beim Empfang von Telegrammen in Millisekunden.
      sendKeepAliveTimeout - KeepAlive-Timeout beim Versand von Telegrammen in Millisekunden.
      outputBufferSize - Größe des Sendepuffers in Bytes, der bei der Kommunikation mit dem Datenverteiler eingesetzt wird.
      inputBufferSize - Größe des Empfangspuffers in Bytes, der bei der Kommunikation mit dem Datenverteiler eingesetzt wird.
      communicationProtocolName - Klassenname des zu verwendenden Kommunikationsprotokolls
      allowHmacAuthentication - Ob die alte Authentifizierung erlaubt ist
      encryptionPreference - Art der Verschlüsselung
      Throws:
      MissingParameterException - Bei formalen Fehlern beim Lesen der Aufrufargumente oder der Defaultwerte.
  • Method Details

    • printArgumentsList

      public static void printArgumentsList()
      Gibt die eingestellten Parameter auf die Standardausgabe aus.
    • isConnectionForTests

      public boolean isConnectionForTests()
      Gibt an, ob die Verbindung für Testzwecken aufgebaut werden soll.

      Wird die Verbindung für Testzwecken aufgebaut, so können zum Beispiel Anmeldungen stattfinden, die mit einer normalen Verbindung nicht möglich sind.

      Wurde dieser Wert nicht gesetzt (im Konstruktor oder über den Setter) so wird immer false zurückgegeben.

      Returns:
      true = Die Verbindung soll für Testzwecken aufgebaut werden; false = Es handelt sich um eine normale Verbindung, es werden alle Prüfungen vollzogen.
    • setConnectionForTests

      public void setConnectionForTests(boolean connectionForTests)
      Legt fest, ob eine Verbindung für Testzwecke aufgebaut werden soll.
      Parameters:
      connectionForTests - true = Ja, es handelt sich um eine Verbindung, die nur für Testzwecke benutzt wird; false = Es handelt sich um eine normale Verbindung, die zum Datenverteiler aufgebaut werden soll.
      See Also:
    • getThroughputControlSendBufferFactor

      @Deprecated public final float getThroughputControlSendBufferFactor()
      Deprecated.
      Wert kann aus den CommunicationParameters gelesen werden.
      Bestimmt den Füllgrad des Sendepuffers bei dem die Durchsatzprüfung gestartet wird.
      Returns:
      Füllgrad des Sendepuffers als Wert zwischen 0 und 1.
      See Also:
    • setThroughputControlSendBufferFactor

      @Deprecated public final void setThroughputControlSendBufferFactor(float sendBufferFactor)
      Deprecated.
      Wert kann in den CommunicationParameters gesetzt werden.
      Definiert den Füllgrad des Sendepuffers bei dem die Durchsatzprüfung gestartet wird.
      Parameters:
      sendBufferFactor - Füllgrad des Sendepuffers als Wert zwischen 0 und 1.
      See Also:
    • getCacheThresholdPercentage

      @Deprecated public final float getCacheThresholdPercentage()
      Deprecated.
      Bestimmt den Füllgrad des Sendepuffers bei dem die Durchsatzprüfung gestartet wird.
      Returns:
      Füllgrad des Sendepuffers als Wert zwischen 0 und 1.
    • setCacheThresholdPercentage

      @Deprecated public final void setCacheThresholdPercentage(float cacheThresholdPercentage)
      Deprecated.
      Definiert den Füllgrad des Sendepuffers bei dem die Durchsatzprüfung gestartet wird.
      Parameters:
      cacheThresholdPercentage - Füllgrad des Sendepuffers als Wert zwischen 0 und 1.
    • getThroughputControlInterval

      @Deprecated public final long getThroughputControlInterval()
      Deprecated.
      Wert kann aus den CommunicationParameters gelesen werden.
      Bestimmt die Intervalldauer für die Durchsatzmessung bei aktivierter Durchsatzprüfung.
      Returns:
      Intervalldauer in Millisekunden.
      See Also:
    • setThroughputControlInterval

      @Deprecated public final void setThroughputControlInterval(long interval)
      Deprecated.
      Wert kann in den CommunicationParameters gesetzt werden.
      Setzt die Intervalldauer für die Durchsatzmessung bei aktivierter Durchsatzprüfung.
      Parameters:
      interval - Intervalldauer in Millisekunden.
      See Also:
    • getFlowControlThresholdTime

      @Deprecated public final long getFlowControlThresholdTime()
      Deprecated.
      Wird durch getThroughputControlInterval() ersetzt.
      Bestimmt die Intervalldauer für die Durchsatzmessung bei aktivierter Durchsatzprüfung.
      Returns:
      Intervalldauer in Millisekunden.
    • setFlowControlThresholdTime

      @Deprecated public final void setFlowControlThresholdTime(long flowControlThresholdTime)
      Deprecated.
      Setzt die Intervalldauer für die Durchsatzmessung bei aktivierter Durchsatzprüfung.
      Parameters:
      flowControlThresholdTime - Intervalldauer in Millisekunden.
    • getMinimumThroughput

      @Deprecated public final int getMinimumThroughput()
      Deprecated.
      Wert kann aus den CommunicationParameters gelesen werden.
      Bestimmt den minimal erlaubten Verbindungsdurchsatz bei aktivierter Durchsatzprüfung.
      Returns:
      Mindestdurchsatz in Byte pro Sekunde.
      See Also:
    • setMinimumThroughput

      @Deprecated public final void setMinimumThroughput(int throughput)
      Deprecated.
      Wert kann in den CommunicationParameters gesetzt werden.
      Setzt den minimal erlaubten Verbindungsdurchsatz bei aktivierter Durchsatzprüfung.
      Parameters:
      throughput - Mindestdurchsatz in Byte pro Sekunde.
      See Also:
    • getMinConnectionSpeed

      @Deprecated public final int getMinConnectionSpeed()
      Deprecated.
      Wird durch getMinimumThroughput() ersetzt.
      Bestimmt der minimum Verbindungsdurchsatz
      Returns:
      den minimalen Verbindungsdurchsatz
    • setMinConnectionSpeed

      @Deprecated public final void setMinConnectionSpeed(int minConnectionSpeed)
      Deprecated.
      Wird durch setMinimumThroughput(int) ersetzt.
      Setzt den minimal erlaubten Verbindungsdurchsatz bei aktivierter Durchsatzprüfung.
      Parameters:
      minConnectionSpeed - Mindestdurchsatz in Byte pro Sekunde.
    • getApplicationName

      public final String getApplicationName()
      Bestimmt den Namen der Applikation.
      Returns:
      Name des zu erzeugenden Applikations-Objekts.
      See Also:
    • setApplicationName

      public final void setApplicationName(String applicationName)
      Setzt den Namen der Applikation. Nach erfolgreicher Authentifizierung der Applikation wird vom Datenverteiler ein Applikations-Objekt mit dem angegebenem Namen erzeugt. Wenn diese Methode nicht aufgerufen wird, dann wird als Default der Name "TestApplikation" benutzt.
      Parameters:
      applicationName - Name des zu erzeugenden Applikations-Objekts
      See Also:
    • getApplicationNameForLocalConfigurationCache

      public final String getApplicationNameForLocalConfigurationCache()
      Bestimmt den Namen der Applikation, der im Namen der lokalen Cache-Datei für Konfigurationsdaten verwendet werden soll. Der Applikationsname kann mit dem Aufrufparameter -lokaleSpeicherungKonfiguration=pfadname:applikationsname von außen vorgegeben werden. Wenn das Aufrufargument -lokaleSpeicherungKonfiguration nicht benutzt wurde oder im angegebenen Argument kein mit Doppelpunkt getrennter Name angegeben wurde, dann gibt diese Methode den gleichen Wert zurück, wie die Methode getApplicationName().
      Returns:
      Name der Applikation, der im Namen der lokalen Cache-Datei für Konfigurationsdaten verwendet werden soll.
    • getApplicationTypePid

      public final String getApplicationTypePid()
      Bestimmt den Typ der Applikation.
      Returns:
      PID, die den Typ des zu erzeugenden Applikations-Objekts spezifiziert.
      See Also:
    • setApplicationTypePid

      public final void setApplicationTypePid(String applicationTypePid)
      Setzt den Typ der Applikation. Nach erfolgreicher Authentifizierung der Applikation wird vom Datenverteiler ein Applikations-Objekt erzeugt. Der Typ dieses Objekts entspricht dem hier übergebenen Typ. Wenn diese Methode nicht aufgerufen wird, dann wird als Default der Typ "typ.applikation" benutzt.
      Parameters:
      applicationTypePid - PID, die den Typ des zu erzeugenden Applikations-Objekts spezifiziert.
      See Also:
    • getAuthentificationProcessName

      public final String getAuthentificationProcessName()
      Bestimmt das bei der Authentifizierung zu verwendende Verfahren.
      Returns:
      Klassenname des Authentifizierungs-Verfahrens.
    • setAuthentificationProcessName

      public final void setAuthentificationProcessName(String authentificationProcessName)
      Setzt das bei der Authentifizierung zu verwendende Verfahren. Wird die Methode nicht aufgerufen, dann wird das Verfahren HMAC-MD5 benutzt.
      Parameters:
      authentificationProcessName - Klassenname des Verfahrens
    • getLowLevelCommunicationName

      public final String getLowLevelCommunicationName()
      Bestimmt das auf unterster Ebene einzusetzende Kommunikationsprotokoll für die Kommunikation mit dem Datenverteiler.
      Returns:
      Klassenname des Kommunikationsverfahrens.
    • setLowLevelCommunicationName

      public final void setLowLevelCommunicationName(String lowLevelCommunicationName)
      Setzt das auf unterster Ebene einzusetzende Kommunikationsprotokoll. Wird diese Methode nicht aufgerufen, dann wird das TCP-Protokoll benutzt.
      Parameters:
      lowLevelCommunicationName - Klassenname des Kommunikationsverfahrens.
    • getDavCommunicationAddress

      public final String getDavCommunicationAddress()
      Bestimmt die Kommunikationsaddresse des Datenverteilers, die für den Verbindungsaufbau benutzt werden soll.
      Returns:
      Kommunikationsadresse des Datenverteilers.
      See Also:
    • setDavCommunicationAddress

      public final void setDavCommunicationAddress(String address)
      Setzt die Kommunikationsaddresse des Datenverteilers, die für den Verbindungsaufbau benutzt werden soll. Wenn als Kommunikationsprotokoll TCP eingesetzt wird, dann kann hier der Rechnername oder die IP-Addresse des Rechners auf dem der Datenverteiler läuft angegeben werden.
      Parameters:
      address - Kommunikationsadresse des Datenverteilers (IP-Addresse oder Rechnername bei TCP).
    • getDavCommunicationSubAddress

      public final int getDavCommunicationSubAddress()
      Bestimmt die Kommunikationssubaddresse des Datenverteilers, die für den Verbindungsaufbau benutzt werden soll.
      Returns:
      Kommunikationssubadresse des Datenverteilers.
      See Also:
    • setDavCommunicationSubAddress

      public final void setDavCommunicationSubAddress(int subAddress)
      Setzt die Kommunikationssubaddresse des Datenverteilers, die für den Verbindungsaufbau benutzt werden soll. Wenn als Kommunikationsprotokoll TCP eingesetzt wird, dann kann hier die TCP-Portnummer, auf der der Datenverteiler Verbindungen entgegennimmt, angegeben werden.
      Parameters:
      subAddress - Kommunikationssubadresse des Datenverteilers.
    • getConfigurationPid

      public final String getConfigurationPid()
      Bestimmt die PID der zu verwendenden Konfiguration.
      Returns:
      PID der zu verwendenden Konfiguration.
    • setConfigurationPid

      public final void setConfigurationPid(String configurationPid)
      Setzt die PID der zu verwendenden Konfiguration. Wenn die Methode nicht aufgerufen wird, dann wird die Standard-Konfiguration des Datenverteilers benutzt.
      Parameters:
      configurationPid - PID der zu verwendenden Konfiguration.
    • getConfigurationPath

      public final String getConfigurationPath()
      Bestimmt den Ort zum Zwischenspeichern der Konfiguration.
      Returns:
      Pfad im lokalen Dateisystem in dem die Konfigurationsdaten zwischengespeichert werden oder null, wenn die Konfigurationsdaten nicht lokal zwischengespeichert werden.
    • setConfigurationPath

      public final void setConfigurationPath(String configurationPath)
      Setzt den Ort zum Zwischenspeichern der Konfiguration. Wenn kein Ort spezifiziert wurde, dann wird die Konfiguration nicht zwischengespeichert.
      Parameters:
      configurationPath - Pfad im lokalen Dateisystem in dem die Konfigurationsdaten zwischengespeichert werden sollen oder null, falls die Konfigurationsdaten nicht lokal zwischengespeichert werden sollen.
    • getUserName

      public final String getUserName()
      Bestimmt den bei der Authentifizierung zu verwendenden Benutzernamen.
      Returns:
      Name des Benutzers.
    • setUserName

      public final void setUserName(String userName)
      Setzt den bei der Authentifizierung zu verwendenden Benutzernamen (und ggf. den Passwortindex).
      Parameters:
      userName - Name des Benutzers.
    • getUserPassword

      @Deprecated public final String getUserPassword()
      Deprecated.
      getClientCredentials() erlaubt auch das Abfragen von Login-Token
      Bestimmt das bei der Authentifizierung zu verwendende Passwort.
      Returns:
      Passwort des Benutzers.
    • setUserPassword

      @Deprecated public final void setUserPassword(String userPassword)
      Deprecated.
      Das Passwort bitte direkt bei ClientDavInterface.login(String, ClientCredentials) übergeben.
      Setzt das bei der Authentifizierung zu verwendende Passwort.
      Parameters:
      userPassword - Passwort des Benutzers.
    • getClientCredentials

      public ClientCredentials getClientCredentials()
      Gibt das Passwort oder den Login-Token zur Anmeldung am Datenverteiler zurück
      Returns:
      Passwort oder Login-Token oder null falls noch nicht gesetzt
    • getUserProperties

      public UserProperties getUserProperties()
      Gibt die Authentifizierungsdatei bzw. Passwortdatenbank zurück
      Returns:
      die Authentifizierungsdatei bzw. Passwortdatenbank
    • setUserProperties

      public void setUserProperties(UserProperties userProperties)
      Setzt die Authentifizierungsdatei/Passwortdatenbank
      Parameters:
      userProperties - Authentifizierungsdatei/Passwortdatenbank
    • getSendKeepAliveTimeout

      @Deprecated public final long getSendKeepAliveTimeout()
      Deprecated.
      Wert kann aus den CommunicationParameters gelesen werden.
      Bestimmt das Timeout zum Senden von KeepAlive-Telegrammen. Der Wert dient als Vorschlag für die Verhandlung mit dem Datenverteiler, der den zu verwendenden Wert festlegt.
      Returns:
      Vorschlag für das Timeout zum Senden von KeepAlive-Telegrammen in Millisekunden.
      See Also:
    • setSendKeepAliveTimeout

      @Deprecated public final void setSendKeepAliveTimeout(long timeout)
      Deprecated.
      Wert kann in den CommunicationParameters gesetzt werden.
      Setzt das Timeout zum Senden von KeepAlive-Telegrammen. Der Wert dient als Vorschlag für die Verhandlung mit dem Datenverteiler, der den zu verwendenden Wert festlegt.
      Parameters:
      timeout - Vorschlag für das Timeout zum Senden von KeepAlive-Telegrammen in Millisekunden.
      See Also:
    • getReceiveKeepAliveTimeout

      @Deprecated public final long getReceiveKeepAliveTimeout()
      Deprecated.
      Wert kann aus den CommunicationParameters gelesen werden.
      Bestimmt das KeepAlive-Timeout beim Empfang von Telegrammen. Der Wert dient als Vorschlag für die Verhandlung mit dem Datenverteiler, der den zu verwendenden Wert festlegt.
      Returns:
      Vorschlag für das KeepAlive-Timeout beim Empfang von Telegrammen in Millisekunden.
      See Also:
    • setReceiveKeepAliveTimeout

      @Deprecated public final void setReceiveKeepAliveTimeout(long timeout)
      Deprecated.
      Wert kann in den CommunicationParameters gesetzt werden.
      Setzt das KeepAlive-Timeout beim Empfang von Telegrammen. Der Wert dient als Vorschlag für die Verhandlung mit dem Datenverteiler, der den zu verwendenden Wert festlegt.
      Parameters:
      timeout - Vorschlag für das KeepAlive-Timeout beim Empfang von Telegrammen in Millisekunden.
      See Also:
    • getSimulationVariant

      public final short getSimulationVariant()
      Bestimmt die Standardmäßig zu verwendende Simulationsvariante.
      Returns:
      Zu verwendende Simulationsvariante
      See Also:
    • setSimulationVariant

      public final void setSimulationVariant(short variant)
      Setzt die Standardmäßig zu verwendende Simulationsvariante. Wenn die Methode nicht aufgerufen wird, wird die Variante 0 benutzt, wenn sie nicht explizit angegeben wurde.
      Parameters:
      variant - Zu verwendende Simulationsvariante.
      See Also:
    • getCommunicationSendFlushDelay

      public final long getCommunicationSendFlushDelay()
      Bestimmt die Verzögerungszeit zur Übertragung von gepufferten und zu versendenden Telegrammen.
      Returns:
      Sende-Verzögerungszeit in Millisekunden.
      See Also:
    • setCommunicationSendFlushDelay

      public final void setCommunicationSendFlushDelay(long delay)
      Setzt die Verzögerungszeit zur Übertragung von gepufferten und zu versendenden Telegrammen. Die Übertragung der gesammelten Daten im Sendepuffer findet erst statt, wenn die hier angegebene Zeit lang keine Daten mehr in der Puffer geschrieben wurden oder der Sendepuffer voll ist.
      Parameters:
      delay - Sende-Verzögerungszeit in Millisekunden.
    • getCommunicationOutputBufferSize

      public final int getCommunicationOutputBufferSize()
      Bestimmt die Größe des Sendepuffers, der bei der Kommunikation mit dem Datenverteiler eingesetzt wird.
      Returns:
      Größe des Sendepuffers in Bytes.
    • setCommunicationOutputBufferSize

      public final void setCommunicationOutputBufferSize(int bufferSize)
      Setzt die Größe des Sendepuffers, der bei der Kommunikation mit dem Datenverteiler eingesetzt wird.
      Parameters:
      bufferSize - Größe des Sendepuffers in Bytes.
    • getCommunicationInputBufferSize

      public final int getCommunicationInputBufferSize()
      Bestimmt die Größe des Empfangspuffers, der bei der Kommunikation mit dem Datenverteiler eingesetzt wird.
      Returns:
      Größe des Empfangspuffers in Bytes.
    • setCommunicationInputBufferSize

      public final void setCommunicationInputBufferSize(int bufferSize)
      Setzt die Größe des Empfangspuffers, der bei der Kommunikation mit dem Datenverteiler eingesetzt wird.
      Parameters:
      bufferSize - Größe des Empfangspuffers in Bytes.
    • getAdjustedInputBufferSize

      public final int getAdjustedInputBufferSize()
      Gibt die Größe der anteiligen Empfangs-Puffergröße zurück, den diese Verbindung benutzt.
      Returns:
      Buffergröße in Bytes
    • getAdjustedOutputBufferSize

      public final int getAdjustedOutputBufferSize()
      Gibt die Größe der anteiligen Empfangs-Puffergröße zurück, den diese Verbindung benutzt.
      Returns:
      Buffergröße in Bytes
    • getSecondaryConnectionBufferRatio

      public double getSecondaryConnectionBufferRatio()
      Gibt den Anteil von den Puffergrößen der zweiten für Konfigurationsanfragen (falls verwendet) zurück
      Returns:
      den Anteil von den Puffergrößen der zweiten für Konfigurationsanfragen (falls verwendet)
    • setSecondaryConnectionBufferRatio

      public void setSecondaryConnectionBufferRatio(double secondaryConnectionBufferRatio)
      Setzt den Anteil an den Puffergrößen, den die zweite Verbindung für Konfigurationsanfragen verwendet (falls vorhanden)
      Parameters:
      secondaryConnectionBufferRatio - Anteil zwischen 0.0 und 1.0, der angibt wie groß der Puffer der zweiten Verbidnung im Verhältnis zur Gesamtpuffergröße sein soll.
    • getMaxDataTelegramSize

      public final int getMaxDataTelegramSize()
      Bestimmt die maximale Größe von Datentelegrammen. Größere Telegramme werden in mehrere Telegramme zerlegt.
      Returns:
      Maximale Größe von versendeten Datentelegrammen als Anzahl von Bytes.
    • setMaxDataTelegramSize

      public final void setMaxDataTelegramSize(int maxTelegramSize)
      Setzt die maximale Größe von Datentelegrammen. Größere Telegramme werden in mehrere Telegramme zerlegt.
      Parameters:
      maxTelegramSize - Maximale Größe von versendeten Datentelegrammen als Anzahl von Bytes.
    • getCommunicationParameters

      public CommunicationParameters getCommunicationParameters()
      Gibt die Parameter für die Kommunikation zwischen Applikation und Datenverteiler zurück.
      Returns:
      die Parameter für die Kommunikation zwischen Applikation und Datenverteiler
    • isHmacAuthenticationAllowed

      public boolean isHmacAuthenticationAllowed()
      Gibt true zurück, wenn die alte Hmac-basierte Authentifizierung erlaubt ist
      Returns:
      true, wenn die alte Hmac-basierte Authentifizierung erlaubt ist, sonst false
    • getEncryptionPreference

      public EncryptionConfiguration getEncryptionPreference()
      Gibt die bevorzugte Verschlüsselungskonfiguration zurück.
      Returns:
      die bevorzugte Verschlüsselungskonfiguration
    • setEncryptionPreference

      public void setEncryptionPreference(EncryptionConfiguration encryptionPreference)
      Setzt ob die Verbindung verschlüsselt werden soll
      Parameters:
      encryptionPreference -
    • setAllowHmacAuthentication

      public void setAllowHmacAuthentication(boolean allowHmacAuthentication)
      Setzt, ob die alte Hmac-Authentifizierugn erlaubt sein soll
      Parameters:
      allowHmacAuthentication -
    • addAspectRedirection

      public final void addAspectRedirection(String attributeGroupPid, String aspectPid, String substituteAspectPid)
      Setzt eine Aspektumleitung für eine Kombination von Attributgruppe und Aspekt. Ein von der Applikation angegebener Aspekt beim Anmelden, Lesen, Schreiben und Abmelden einer Attributgruppe, wird durch einen anderen Aspekt ersetzt. Damit besteht die Möglichkeit den Datenfluß einer Applikation zu modifizieren und damit beispielsweise einen anderen Prozess in eine Bearbeitungskette einzufügen.
      Parameters:
      attributeGroupPid - PID der Attributgruppe für die eine Umleitung eingefügt werden soll.
      aspectPid - PID des Aspekts für den eine Umleitung eingefügt werden soll.
      substituteAspectPid - PID des statt aspectPid zu verwendenden Aspekts.
    • aspectToSubstitute

      public final String aspectToSubstitute(String attributeGroupPid, String aspectPid)
      Gibt die Aspektumleitung für eine Kombination von Attributgruppe und Aspekt zurück. Wenn keine entsprechende Aspektumleitung besteht, wird der übergebene Original-Aspekt zurückgegeben.
      Parameters:
      attributeGroupPid - PID der Attributgruppe.
      aspectPid - PID des Original-Aspekts.
      Returns:
      Pid des Aspekts, der anstelle des angegebenen Aspektes benutzt werden soll. Wenn dieser Aspekt nicht existiert, wird der angegebene Aspekt zurückgegeben.
      See Also:
    • substituteToAspect

      public final String substituteToAspect(String attributeGroupPid, String aspectPid)
      Gibt den Original-Aspekt eines ersetzten Aspekts einer Attributgruppe zurück. Wenn keine entsprechende Aspektumleitung besteht, wird der übergebene Aspekt unverändert zurückgegeben.
      Parameters:
      attributeGroupPid - PID der Attributgruppe.
      aspectPid - PID des ersetzten Aspekts.
      Returns:
      Pid des Original-Aspekts.
      See Also:
    • getDeliveryBufferSize

      public int getDeliveryBufferSize()
      Liefert die Größe des Auslieferungspuffers, der zur Zwischenspeicherung von Datensätzen genutzt wird, die an einen Empfänger der Applikation versendet werden sollen.
      Returns:
      Größe des Auslieferungspuffers in Bytes.
    • setDeliveryBufferSize

      public void setDeliveryBufferSize(int deliveryBufferSize)
      Setzt die Größe des Auslieferungspuffers, der zur Zwischenspeicherung von Datensätzen genutzt wird, die an einen Empfänger der Applikation versendet werden sollen.
      Parameters:
      deliveryBufferSize - Größe des Auslieferungspuffers in Bytes.
    • getIncarnationName

      public String getIncarnationName()
      Liefert den via Aufrufparameter von Start/Stopp vorgegebenen Inkarnationsnamen.
      Returns:
      Inkarnationsname oder "", falls das entsprechende Aufrufargument nicht angegeben wurde.
    • getUseSecondConnection

      public boolean getUseSecondConnection()
      Gibt true zurück, wenn eine zweite ClientDavConnection für Konfigurationsanfragen benutzt werden soll
      Returns:
      true, wenn eine zweite ClientDavConnection für Konfigurationsanfragen benutzt werden soll, sonst false
    • setUseSecondConnection

      public void setUseSecondConnection(boolean useSecondConnection)
      Setzt, ob eine zweite ClientDavConnection für Konfigurationsanfragen benutzt werden soll, sonst false
      Parameters:
      useSecondConnection - ob eine zweite ClientDavConnection für Konfigurationsanfragen benutzt werden
    • isSecondConnection

      public boolean isSecondConnection()
      Gibt true zurück, wenn es sich um die Parameter der zweiten Verbindung handelt
      Returns:
      true, wenn es sich um die Parameter der zweiten Verbindung handelt, sonst false
    • getSecondConnectionParameters

      public ClientDavParameters getSecondConnectionParameters()
      Erzeugt die Verbindungsparameter für die zweite Applikationsverbindung. Dabei werden die meisten Einstellungen kopiert.
      Returns:
      Kopie oder null wenn keine zweite Verbindung benutzt werden soll/kann
    • isSelfClientDavConnection

      public boolean isSelfClientDavConnection()
      Gibt true zurück, wenn es sich um die eigene Verbindung des Datenverteilers handelt
      Returns:
      true, wenn es sich um die eigene Verbindung des Datenverteilers handelt, sonst false
    • getPasswordIndex

      public int getPasswordIndex()
      Gibt den Einmalpasswortindex zurück
      Returns:
      den Einmalpasswortindex oder -1 für einen normalen Login
    • setPasswordIndex

      public void setPasswordIndex(int passwordIndex)
      Setzt den Einmalpasswortindex
      Parameters:
      passwordIndex - Einmalpasswortindex oder -1 für einen normalen Login
    • getPassiveCommunication

      public String getPassiveCommunication()
      Gibt das Kommunikationsprotokoll für die passiven Serververbindung zurück
      Returns:
      Java-Protokoll-Klasse oder (das ist Standard) null falls keine passive Verbindung aufgebaut wird
    • setPassiveCommunication

      public void setPassiveCommunication(String passiveCommunication)
      Setzt das passive Kommunikationsprotokoll
      Parameters:
      passiveCommunication - Protokoll z.B. "de.bsvrz.dav.daf.communication.tcpCommunication.TCP_IP_ServerCommunication" oder null für den aktiven Verbindungsaufbau.
    • getPassivePort

      public int getPassivePort()
      Gibt den Port für de passiven Verbindungsaufbau zurück. Hat nur Relevanz wenn getPassiveCommunication() nicht null zurückliefert.
      Returns:
      den Port für de passiven Verbindungsaufbau
    • setPassivePort

      public void setPassivePort(int passivePort)
      Setzt den Port für den passiven Verbindungsaufbau. Hat nur Relevanz wenn getPassiveCommunication() nicht null zurückliefert.
      Parameters:
      passivePort - Port
    • isIncludingRequestedArchiveData

      public boolean isIncludingRequestedArchiveData()
      Gibt true zurück, wenn nachgeforderte Archivdaten defaultmäßig mit zurückgeliefert werden sollen.
      Returns:
      true, wenn nachgeforderte Archivdaten defaultmäßig mit zurückgeliefert werden sollen, sonst false
      Since:
      3.16
    • clone

      public final ClientDavParameters clone()
      Overrides:
      clone in class Object
    • clone

      public final ClientDavParameters clone(boolean readonly)
      Erstellt eine Kopie dieses Objekts
      Parameters:
      readonly - Soll die Kopie schreibgeschützt sein? Erlaubt sowohl das Entfernen als auch das Hinzufügen eines Schreibschutzes.
      Returns:
      Kopie