Class MutableSetStorage
java.lang.Object
de.bsvrz.puk.config.configFile.datamodel.MutableSetStorage
- Direct Known Subclasses:
MutableSetConfigDataStorage
,MutableSetExtFileStorage
,TransientMutableSetStorage
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 -
Method Summary
Modifier and TypeMethodDescriptionfinal void
add
(Collection<de.bsvrz.dav.daf.main.config.SystemObject> addedElements, short simulationVariant) Fügt Objekte zu der Menge hinzudeleteElements
(short simulationVariant) Löscht Objekte einer angegebenen Simulation permanent und vollständig aus dieser Menge (z.deleteElementsOlderThan
(long deletionTime) Entfernt alle historischen (ungültigen) Elemente, die vor dem angegebenen Zeitstempel auf ungültig gesetzt wurdenfinal 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ültigvoid
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).
-
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
- ObjektesimulationVariant
- 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 sollensimulationVariant
- 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()
-