Class ClientDavParameters

  • All Implemented Interfaces:
    java.lang.Cloneable

    public class ClientDavParameters
    extends java.lang.Object
    implements java.lang.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 Detail

      • 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​(java.lang.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​(java.lang.String configurationPid,
                                   java.lang.String address,
                                   int subAddress,
                                   java.lang.String userName,
                                   java.lang.String userPassword,
                                   java.lang.String applicationName,
                                   java.lang.String authentificationProcessName,
                                   int maxTelegramSize,
                                   long receiveKeepAliveTimeout,
                                   long sendKeepAliveTimeout,
                                   int outputBufferSize,
                                   int inputBufferSize,
                                   java.lang.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​(java.lang.String configurationPid,
                                   java.lang.String address,
                                   int subAddress,
                                   java.lang.String userName,
                                   java.lang.String applicationName,
                                   java.lang.String authentificationProcessName,
                                   int maxTelegramSize,
                                   long receiveKeepAliveTimeout,
                                   long sendKeepAliveTimeout,
                                   int outputBufferSize,
                                   int inputBufferSize,
                                   java.lang.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 Detail

      • 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:
        isConnectionForTests()
      • 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:
        getCommunicationParameters()
      • 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.
      • 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:
        getCommunicationParameters()
      • 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:
        getCommunicationParameters()
      • 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.
      • 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:
        getCommunicationParameters()
      • 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:
        getCommunicationParameters()
      • getMinConnectionSpeed

        @Deprecated
        public final int getMinConnectionSpeed()
        Deprecated.
        Wird durch getMinimumThroughput() ersetzt.
        Bestimmt der minimum Verbindungsdurchsatz
        Returns:
        den minimalen Verbindungsdurchsatz
      • 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:
        getCommunicationParameters()
      • 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 java.lang.String getApplicationName()
        Bestimmt den Namen der Applikation.
        Returns:
        Name des zu erzeugenden Applikations-Objekts.
        See Also:
        setApplicationName(java.lang.String)
      • getApplicationNameForLocalConfigurationCache

        public final java.lang.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.
      • setApplicationName

        public final void setApplicationName​(java.lang.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:
        setApplicationTypePid(java.lang.String)
      • getApplicationTypePid

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

        public final void setApplicationTypePid​(java.lang.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:
        setApplicationName(java.lang.String)
      • getAuthentificationProcessName

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

        public final void setAuthentificationProcessName​(java.lang.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 java.lang.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​(java.lang.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 java.lang.String getDavCommunicationAddress()
        Bestimmt die Kommunikationsaddresse des Datenverteilers, die für den Verbindungsaufbau benutzt werden soll.
        Returns:
        Kommunikationsadresse des Datenverteilers.
        See Also:
        setDavCommunicationAddress(java.lang.String)
      • setDavCommunicationAddress

        public final void setDavCommunicationAddress​(java.lang.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(int)
      • 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 java.lang.String getConfigurationPid()
        Bestimmt die PID der zu verwendenden Konfiguration.
        Returns:
        PID der zu verwendenden Konfiguration.
      • setConfigurationPid

        public final void setConfigurationPid​(java.lang.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 java.lang.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​(java.lang.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 java.lang.String getUserName()
        Bestimmt den bei der Authentifizierung zu verwendenden Benutzernamen.
        Returns:
        Name des Benutzers.
      • setUserName

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

        @Deprecated
        public final java.lang.String getUserPassword()
        Deprecated.
        getClientCredentials() erlaubt auch das Abfragen von Login-Token
        Bestimmt das bei der Authentifizierung zu verwendende Passwort.
        Returns:
        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
      • setUserProperties

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

        public UserProperties getUserProperties()
        Gibt die Authentifizierungsdatei bzw. Passwortdatenbank zurück
        Returns:
        die Authentifizierungsdatei bzw. 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:
        getCommunicationParameters()
      • 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:
        getCommunicationParameters()
      • 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:
        getCommunicationParameters()
      • 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:
        getCommunicationParameters()
      • getSimulationVariant

        public final short getSimulationVariant()
        Bestimmt die Standardmäßig zu verwendende Simulationsvariante.
        Returns:
        Zu verwendende Simulationsvariante
        See Also:
        setSimulationVariant(short)
      • 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:
        DataDescription
      • 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(long)
      • 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
      • setAllowHmacAuthentication

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

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

        public final void addAspectRedirection​(java.lang.String attributeGroupPid,
                                               java.lang.String aspectPid,
                                               java.lang.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 java.lang.String aspectToSubstitute​(java.lang.String attributeGroupPid,
                                                         java.lang.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:
        addAspectRedirection(java.lang.String, java.lang.String, java.lang.String)
      • substituteToAspect

        public final java.lang.String substituteToAspect​(java.lang.String attributeGroupPid,
                                                         java.lang.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:
        addAspectRedirection(java.lang.String, java.lang.String, java.lang.String)
      • 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 java.lang.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 java.lang.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​(java.lang.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
      • clone

        public final ClientDavParameters clone()
        Overrides:
        clone in class java.lang.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
      • printArgumentsList

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