Class MutableSetStorage
- java.lang.Object
-
- de.bsvrz.puk.config.configFile.datamodel.MutableSetStorage
-
- Direct Known Subclasses:
MutableSetConfigDataStorage
,MutableSetExtFileStorage
,TransientMutableSetStorage
public abstract class MutableSetStorage extends java.lang.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 MutableSetStorage()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods 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 hinzujava.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 wurdenjava.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ültigvoid
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).
-
-
-
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
- ObjektesimulationVariant
- 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 sollensimulationVariant
- 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()
-
-