Class MutableSetStorage

    • Method Summary

      Modifier and Type Method Description
      void add​(java.util.Collection<de.bsvrz.dav.daf.main.config.SystemObject> addedElements, short simulationVariant)
      Fügt Objekte zu der Menge hinzu
      java.util.List<java.lang.Long> deleteElements​(short simulationVariant)
      Löscht Objekte einer angegebenen Simulation permanent und vollständig aus dieser Menge (z.
      java.util.List<java.lang.Long> deleteElementsOlderThan​(long deletionTime)
      Entfernt alle historischen (ungültigen) Elemente, die vor dem angegebenen Zeitstempel auf ungültig gesetzt wurden
      java.util.List<de.bsvrz.puk.config.configFile.datamodel.MutableSetStorage.MutableElement> getMutableElements()
      Gibt alle aktuell enthaltenen Elemente zurück.
      void invalidate​(java.util.Collection<java.lang.Long> removedElements, short simulationVariant)
      Macht Objektreferenzen in der Menge ungültig
      void purgeCache()  
      protected abstract java.util.List<de.bsvrz.puk.config.configFile.datamodel.MutableSetStorage.MutableElement> readElements()
      Gibt alle bisher gespeicherten Elemente (auch ungültige/gelöschte) zurück.
      protected abstract void writeElements​(java.util.List<de.bsvrz.puk.config.configFile.datamodel.MutableSetStorage.MutableElement> mutableElements)
      Schreibt eine Menge von Mengenelementen in den dahinterliegenden Speicher (etweder Konfigurationsdaten oder externe Datei).
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • MutableSetStorage

        public MutableSetStorage()
    • Method Detail

      • add

        public final void add​(java.util.Collection<de.bsvrz.dav.daf.main.config.SystemObject> addedElements,
                              short simulationVariant)
                       throws de.bsvrz.dav.daf.main.config.ConfigurationChangeException
        Fügt Objekte zu der Menge hinzu
        Parameters:
        addedElements - Objekte
        simulationVariant - Simulationsvariante
        Throws:
        de.bsvrz.dav.daf.main.config.ConfigurationChangeException
      • invalidate

        public final void invalidate​(java.util.Collection<java.lang.Long> removedElements,
                                     short simulationVariant)
                              throws de.bsvrz.dav.daf.main.config.ConfigurationChangeException
        Macht Objektreferenzen in der Menge ungültig
        Parameters:
        removedElements - Objekte, die nicht mehr in der Menge enthalten sein sollen
        simulationVariant - Simulationsvariante
        Throws:
        de.bsvrz.dav.daf.main.config.ConfigurationChangeException
      • deleteElements

        public final java.util.List<java.lang.Long> deleteElements​(short simulationVariant)
                                                            throws de.bsvrz.dav.daf.main.config.ConfigurationChangeException
        Löscht Objekte einer angegebenen Simulation permanent und vollständig aus dieser Menge (z. B. beim Beenden einer Simulation)
        Parameters:
        simulationVariant - Simulationsvariante
        Returns:
        Liste mit gelöschten Objekten
        Throws:
        de.bsvrz.dav.daf.main.config.ConfigurationChangeException
      • deleteElementsOlderThan

        public final java.util.List<java.lang.Long> deleteElementsOlderThan​(long deletionTime)
                                                                     throws de.bsvrz.dav.daf.main.config.ConfigurationChangeException
        Entfernt alle historischen (ungültigen) Elemente, die vor dem angegebenen Zeitstempel auf ungültig gesetzt wurden
        Parameters:
        deletionTime - Zeitstempel analog zu System.currentTimeMillis()
        Throws:
        de.bsvrz.dav.daf.main.config.ConfigurationChangeException
      • writeElements

        protected abstract void writeElements​(java.util.List<de.bsvrz.puk.config.configFile.datamodel.MutableSetStorage.MutableElement> mutableElements)
                                       throws de.bsvrz.dav.daf.main.config.ConfigurationChangeException
        Schreibt eine Menge von Mengenelementen in den dahinterliegenden Speicher (etweder Konfigurationsdaten oder externe Datei). Die Reihenfolge bzw. der Index der Elemente entspricht dem neuesten Aufruf von readElements(). Es können aber Objekte am Ende gelöscht und oder eingefügt werden.
        Parameters:
        mutableElements - Liste mit zu schreibenen Elementen
        Throws:
        de.bsvrz.dav.daf.main.config.ConfigurationChangeException
      • readElements

        protected abstract java.util.List<de.bsvrz.puk.config.configFile.datamodel.MutableSetStorage.MutableElement> readElements()
        Gibt alle bisher gespeicherten Elemente (auch ungültige/gelöschte) zurück. Die Elemente sollen in der Reihenfolge zurückgegeben werden, wie sie in der Datei stehen.

        Die zurückgegebene Liste wird vom Aufrufer ggf. modifiziert, darf also nicht von der implementierenden Klasse gecacht werden.

        Returns:
        Liste mit allen Elementen des Sets (enthält Objektreferenz, Gültigkeit, Simulationsvariante)
      • getMutableElements

        public final java.util.List<de.bsvrz.puk.config.configFile.datamodel.MutableSetStorage.MutableElement> getMutableElements()
        Gibt alle aktuell enthaltenen Elemente zurück.
        Returns:
        eine Liste von Elementen mit Zeitstempeln, die die Zugehörigkeitszeiträume repräsentieren
      • purgeCache

        public void purgeCache()