Interface ConfigurationFileManager

  • All Known Implementing Classes:
    ConfigFileManager

    public interface ConfigurationFileManager
    Dieses Interface stellt eine Verwaltung für alle Konfigurationsdateien dar und ermöglicht den Zugriff auf diese. Die beschriebenen get-Methoden beziehen sich immer auf alle Konfigurationsdateien, die sich im Zugriff der Verwaltung befinden. Aus diesem Grund speichert die Verwaltung die aktiven Objekte zentral in einer Datenstruktur und deligiert nötige Zugriffe auf die Datei an das jeweilige ConfigurationAreaFile-Objekt.
    • Method Detail

      • createAreaFile

        ConfigurationAreaFile createAreaFile​(java.lang.String configurationAreaPid,
                                             java.io.File configurationAreaDir)
                                      throws java.lang.IllegalArgumentException,
                                             java.io.IOException,
                                             de.bsvrz.sys.funclib.dataSerializer.NoSuchVersionException
        Diese Methode erstellt zu einem neuen Konfigurationsbereich eine Konfigurationsdatei und fügt den Bereich mit addAreaFile(java.lang.String, java.io.File, short, java.util.List<de.bsvrz.puk.config.main.managementfile.VersionInfo>) den bestehenden Bereichen hinzu. Der neue Konfigurationsbereich erhält den Zustand inaktiv. Soll er von der Konfiguration genutzt werden können, so muss er aktiviert werden.
        Parameters:
        configurationAreaPid - die Pid des neuen Konfigurationsbereichs
        configurationAreaDir - das Verzeichnis, in dem die Konfigurationsdatei angelegt werden soll
        Returns:
        der neue Konfigurationsbereich
        Throws:
        java.lang.IllegalArgumentException - Falls die Argumente ungültig sind.
        java.io.IOException - Falls Fehler im Zusammenhang mit der Datei des Konfigurationsbereichs auftreten.
        de.bsvrz.sys.funclib.dataSerializer.NoSuchVersionException
      • addAreaFile

        ConfigurationAreaFile addAreaFile​(java.lang.String configurationAreaPid,
                                          java.io.File configurationAreaDir,
                                          short activeVersion,
                                          java.util.List<VersionInfo> localVersionTimes)
                                   throws java.lang.IllegalArgumentException,
                                          java.io.IOException,
                                          de.bsvrz.sys.funclib.dataSerializer.NoSuchVersionException
        Der aktuellen Konfiguration wird der angegebene Konfigurationsbereich hinzugefügt. Gibt es bereits einen Konfigurationsbereich mit der angegebenen Pid, wird eine Fehlermeldung erzeugt.
        Parameters:
        configurationAreaPid - die Pid des Konfigurationsbereichs
        configurationAreaDir - Verzeichnis, in dem die Konfigurationsdatei gespeichert wurde
        activeVersion - die aktuelle Version des Konfigurationsbereichs
        localVersionTimes - Diese Liste speichert zu jeder Version, die jemals aktiviert wurde, den Zeitpunkt an dem die Version aktiviert wurde. Die Zeitpunkte beziehen sich auf die Zeit, an dem sie auf der Konfiguration, die diese Methode aufruft, aktiviert wurden.
        Returns:
        der hinzugefügte Konfigurationsbereich
        Throws:
        java.lang.IllegalArgumentException - Falls der Konfigurationsbereich mit der Pid bereits zur Konfiguration hinzugefügt wurde.
        java.lang.IllegalStateException - Die Datei, die den Konfigurationsbereich enthält, existiert nicht.
        java.io.IOException
        de.bsvrz.sys.funclib.dataSerializer.NoSuchVersionException
      • getAreaFile

        ConfigurationAreaFile getAreaFile​(java.lang.String configurationAreaPid)
        Diese Methode gibt ein Objekt zurück, das den Konfigurationsbereich darstellt.
        Parameters:
        configurationAreaPid - Pid des Konfigurationsbereichs
        Returns:
        Objekt, mit dem auf den Konfigurationsbereich zugegriffen werden kann. Ist kein Objekt vorhanden, wird null zurückgegeben.
      • getSimulationObject

        SystemObjectInformationInterface getSimulationObject​(java.lang.String pid,
                                                             short simulationVariant)
        Gibt ein simulationsspezifisches Objekt anhand der Pid zurück. Es werden nur Objekte zurückgegeben, die in einer Simulation erzeugt wurden und damit auch nur in dieser Simulation gültig sind.
        Parameters:
        pid - Pid
        simulationVariant - Simulationsvariante
        Returns:
        Objekt, dessen Pid übergeben wurde oder null falls kein Objekt existiert
      • getObjects

        java.util.List<DynamicObjectInfo> getObjects​(short simulationVariant)
                                              throws java.lang.IllegalArgumentException
        Diese Methode gibt alle dynamischen Objekte zurück, die zu einer Simulationsvariante gehören. Der Zustand der dynamischen Objekte (gültig/ungültig) wird dabei nicht berücksichtigt. Die Simulationsvariante muss dabei größer 0 sein.
        Parameters:
        simulationVariant - Simulationsvariante, für die alle dynamischen Objekte zurückgegeben werden sollen. (Wertebereich 1...999)
        Returns:
        Liste mit dynamischen Objekten. Sind keine Objekte vorhande, wird eine leere Liste zurückgegeben.
        Throws:
        java.lang.IllegalStateException - Der Wert der Simulationsvariante ist nicht 1...999
        java.lang.IllegalArgumentException
      • close

        void close()
        Diese Methode wird aufgerufen, wenn ein System heruntegefahren werden soll. Sie speichert alle Konfigurationsbereiche (siehe saveConfigurationAreaFiles() und stellt einen Zustand her in dem das System wieder gestartet werden kann.