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
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).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(java.util.Collection<de.bsvrz.dav.daf.main.config.SystemObject> addedElements, short simulationVariant) throws de.bsvrz.dav.daf.main.config.ConfigurationChangeExceptionFü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.ConfigurationChangeExceptionMacht 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.ConfigurationChangeExceptionLö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.ConfigurationChangeExceptionEntfernt 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.ConfigurationChangeExceptionSchreibt 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()
-