Class MutableSetStorage

java.lang.Object
de.bsvrz.puk.config.configFile.datamodel.MutableSetStorage
Direct Known Subclasses:
MutableSetConfigDataStorage, MutableSetExtFileStorage, TransientMutableSetStorage

public abstract class MutableSetStorage extends Object
Interface um die Speicherung einer dynamischem Menge (ConfigMutableSet) zu realisieren. Diese werden entweder als Konfigurationsdatensatz oder als eigene Datei gespeichert, je nach Implementierung
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    final void
    add(Collection<de.bsvrz.dav.daf.main.config.SystemObject> addedElements, short simulationVariant)
    Fügt Objekte zu der Menge hinzu
    final List<Long>
    deleteElements(short simulationVariant)
    Löscht Objekte einer angegebenen Simulation permanent und vollständig aus dieser Menge (z.
    final List<Long>
    deleteElementsOlderThan(long deletionTime)
    Entfernt alle historischen (ungültigen) Elemente, die vor dem angegebenen Zeitstempel auf ungültig gesetzt wurden
    final List<de.bsvrz.puk.config.configFile.datamodel.MutableSetStorage.MutableElement>
    Gibt alle aktuell enthaltenen Elemente zurück.
    final void
    invalidate(Collection<Long> removedElements, short simulationVariant)
    Macht Objektreferenzen in der Menge ungültig
    void
     
    protected abstract List<de.bsvrz.puk.config.configFile.datamodel.MutableSetStorage.MutableElement>
    Gibt alle bisher gespeicherten Elemente (auch ungültige/gelöschte) zurück.
    protected abstract void
    writeElements(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 Details

    • MutableSetStorage

      public MutableSetStorage()
  • Method Details

    • add

      public final void add(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(Collection<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 List<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 List<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(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 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 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()