public class ConfigMutableSet extends ConfigObjectSet implements MutableSet
Implementierung des Interfaces MutableSet
für dynamische Mengen auf Seiten der Konfiguration.
Modifier and Type | Field and Description |
---|---|
private java.util.Map<java.lang.Short,java.util.Set<MutableSetChangeListener>> |
_changeListeners
Speichert alle angemeldeten Beobachter in Abhängigkeit zur Simulationsvariante.
|
(package private) ConfigurationCommunicationListenerSupport |
_configComHelper
Delegations-Klasse für das Interface
ConfigurationCommunicationInterface |
private static Debug |
_debug
DebugLogger für Debug-Ausgaben
|
private boolean |
_elementAccessFieldsInitialized
Wurden die Fields _elementChangesAllowed und _elementsFile schon initialisiert ?
|
private boolean |
_elementChangesAllowed
Dürfen Änderungen an der Elementzugehörigkeit durch diese Konfiguration durchgeführt werden?
|
private java.util.Set<SystemObject> |
_elements
Die aktuellen Elemente dieser dynamischen Menge.
|
private java.lang.String |
_elementsManagementPid |
private java.lang.Object |
_lockElementAccessProperties
Objekt für den synchronisierten Zugriff auf die Fields _elementAccessFieldsInitialized, _elementChangesAllowed und _elementsFile.
|
private java.lang.Object |
_lockElements
Objekt für den synchronisierten Zugriff auf die
Elemente . |
private java.lang.Object |
_lockListeners
Objekt für den synchronisierten Zugriff auf die
Listener . |
private ConfigMutableCollectionSupport |
_mutableCollectionSupport
Objekt zur Verwaltung von Anmeldungen auf Änderungen der Elemente dieser Menge.
|
private MutableSetStorage |
_mutableSetStorage |
_systemObjectInfo
Constructor and Description |
---|
ConfigMutableSet(ConfigurationArea configurationArea,
SystemObjectInformationInterface systemObjectInfo)
Konstruktor einer dynamischen Menge.
|
Modifier and Type | Method and Description |
---|---|
void |
add(SystemObject[] objects)
Erweitert die Menge um beliebig viele Elemente.
|
void |
add(SystemObject[] objects,
short simulationVariant)
Erweitert die add-Methode um eine Simulationsvariante, die angibt, in welcher Simulation diese Objekte der Menge hinzugefügt werden.
|
void |
add(SystemObject object,
short simulationVariant)
Fügt ein Element zur dynamischen Menge in Abhängigkeit der Simulationsvariante.
|
void |
addChangeListener(MutableSetChangeListener listener)
Meldet einen Beobachter für die Änderungen dieser Menge an.
|
void |
addChangeListener(MutableSetChangeListener listener,
short simulationVariant) |
void |
addChangeListener(short simulationVariant,
MutableCollectionChangeListener changeListener)
Meldet einen Listener auf Änderungen der Elemente einer dynamischen Menge oder eines dynamischen Typs unter Berücksichtigung der Simulationsvariante an.
|
void |
addConfigurationCommunicationChangeListener(ConfigurationCommunicationChangeListener listener)
Meldet einen Beobachter für die Zustandsänderungen der Kommunikation mit der verwaltenden Konfigurationen dieses Objekts an.
|
private boolean |
checkChangeElementsPermit()
Prüft, ob die Konfiguration berechtigt ist an der Elementzugehörigkeit dieser Menge eine Änderung durchzuführen.
|
private void |
checkObjectTypeOfElements(SystemObject[] objects)
Prüft, ob alle Objekte vom richtigen Typ sind.
|
(package private) void |
configurationCommunicationChange(boolean configComStatus) |
void |
deleteElements(short simulationVariant)
Löscht alle Elemente permanent aus dieser dynamischen Menge.
|
java.util.List<SystemObject> |
deleteElementsOlderThan(long deletionTime)
Entfernt alle historischen Elemente, die vor dem angegebenen Zeitstempel auf ungültig gesetzt wurden
|
java.util.Collection<? extends MutableElementInterface> |
getAllElements() |
java.util.List<SystemObject> |
getElements()
Bestimmt die zum aktuellen Zeitpunkt zur Zusammenstellung gehörenden Elemente.
|
java.util.List<SystemObject> |
getElements(long time)
Bestimmt die zu einem vorgegebenen Zeitpunkt zur Zusammenstellung gehörenden Elemente.
|
java.util.List<SystemObject> |
getElements(short simulationVariant)
Bestimmt die aktuellen Elemente einer dynamischen Menge oder eines dynamischen Typs unter Berücksichtigung der Simulationsvariante.
|
java.util.List<SystemObject> |
getElementsDuringPeriod(long startTime,
long endTime)
Bestimmt die Elemente, die während des gesamten angegebenen Zeitbereichs zur Zusammenstellung gehört haben.
|
java.util.List<SystemObject> |
getElementsDuringPeriod(long startTime,
long endTime,
short simulationVariant)
Bestimmt die Elemente, die während des gesamten angegebenen Zeitbereichs zur Zusammenstellung gehört haben in Abhängigkeit der Simulationsvariante.
|
java.util.List<SystemObject> |
getElementsInPeriod(long startTime,
long endTime)
Bestimmt die Elemente, die an mindestens einem Zeitpunkt des angegebenen Zeitbereichs zur Zusammenstellung gehört haben.
|
java.util.List<SystemObject> |
getElementsInPeriod(long startTime,
long endTime,
short simulationVariant)
Bestimmt die Elemente, die an mindestens einem Zeitpunkt des angegebenen Zeitbereichs zur Zusammenstellung gehört haben in Abhängigkeit der Simulationsvariante.
|
java.lang.String |
getElementsManagementPid() |
java.util.List<SystemObject> |
getElementsWithSimulationVariant(long time,
short simulationVariant) |
java.util.List<SystemObject> |
getElementsWithSimulationVariant(short simulationVariant) |
private java.util.List<MutableSetStorage.MutableElement> |
getMutableElements()
Diese Methode liest den konfigurierenden Datensatz für die Elemente dieser Menge ein und gibt sie in einer Liste zurück.
|
MutableSetStorage |
getMutableSetStorage() |
(package private) void |
informListeners(SystemObject[] addedObjects,
SystemObject[] removedObjects,
short simulationVariant)
Bei Änderungen an der dynamischen Menge werden alle angemeldeten Beobachter informiert.
|
(package private) void |
invalidateCache()
Wird aufgerufen, wenn das Objekt verändert wird.
|
boolean |
isConfigurationCommunicationActive()
Gibt an, ob die Kommunikation mit der verwaltenden Konfiguration dieses Objekts aktiv ist.
|
private void |
loadElementAccessProperties() |
void |
remove(SystemObject[] objects)
Entfernt beliebige Elemente aus der Menge.
|
void |
remove(SystemObject[] objects,
short simulationVariant)
Erweitert die remove-Methode um eine Simulationsvariante, die angibt, in welcher Simulation diese Objekte aus der Menge entfernt werden sollen.
|
void |
remove(SystemObject object,
short simulationVariant)
Entfernt ein Element aus der dynamischen Menge in Abhängigkeit der Simulationsvariante.
|
void |
removeChangeListener(MutableSetChangeListener listener)
Meldet einen Beobachter für die Änderungen dieser Menge wieder ab.
|
void |
removeChangeListener(MutableSetChangeListener listener,
short simulationsVariant) |
void |
removeChangeListener(short simulationVariant,
MutableCollectionChangeListener changeListener)
Meldet einen zuvor angemeldeten Listener wieder ab.
|
void |
removeConfigurationCommunicationChangeListener(ConfigurationCommunicationChangeListener listener)
Meldet einen Beobachter für die Zustandsänderungen dieser Kommunikation wieder ab.
|
add, getObjectSetType, remove
addSet, directDuplicate, directModification, duplicate, duplicate, getMutableSet, getNonMutableSet, getNotValidSince, getObjectSet, getObjectSets, getValidSince, invalidate, isValid, removeSet, revalidate, simpleRevalidate
checkChangePermit, createConfigurationData, equals, getConfigurationData, getConfigurationData, getConfigurationData, getConfigurationData, getConfigurationData, getConfigurationDataBytes, getId, getName, getObjectLookupForData, getPid, getSerializerVersion, getType, getUsedAttributeGroupUsages, hashCode, originalHashCode, removeConfigurationData, setConfigurationData, setConfigurationData, setName, simpleInvalidation
compareTo, getConfigurationArea, getConfigurationData, getDataModel, getInfo, getNameOrPidOrId, getPidOrId, getPidOrNameOrId, isOfType, isOfType, setConfigurationData, toString
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
add, getObjectSetType, remove
addSet, duplicate, duplicate, getMutableSet, getNonMutableSet, getNotValidSince, getObjectSet, getObjectSets, getValidSince, removeSet, revalidate
getConfigurationArea, getConfigurationData, getConfigurationData, getConfigurationData, getDataModel, getId, getInfo, getName, getNameOrPidOrId, getPid, getPidOrId, getPidOrNameOrId, getType, getUsedAttributeGroupUsages, invalidate, isOfType, isOfType, isValid, setConfigurationData, setConfigurationData, setConfigurationData, setName, toString
private static final Debug _debug
DebugLogger für Debug-Ausgaben
private ConfigMutableCollectionSupport _mutableCollectionSupport
Objekt zur Verwaltung von Anmeldungen auf Änderungen der Elemente dieser Menge.
private java.util.Map<java.lang.Short,java.util.Set<MutableSetChangeListener>> _changeListeners
Speichert alle angemeldeten Beobachter in Abhängigkeit zur Simulationsvariante.
private final java.lang.Object _lockListeners
Objekt für den synchronisierten Zugriff auf die Listener
.
private java.util.Set<SystemObject> _elements
Die aktuellen Elemente dieser dynamischen Menge.
private final java.lang.Object _lockElements
Objekt für den synchronisierten Zugriff auf die Elemente
.
private final java.lang.Object _lockElementAccessProperties
Objekt für den synchronisierten Zugriff auf die Fields _elementAccessFieldsInitialized, _elementChangesAllowed und _elementsFile.
private boolean _elementAccessFieldsInitialized
Wurden die Fields _elementChangesAllowed und _elementsFile schon initialisiert ?
private boolean _elementChangesAllowed
Dürfen Änderungen an der Elementzugehörigkeit durch diese Konfiguration durchgeführt werden?
ConfigurationCommunicationListenerSupport _configComHelper
Delegations-Klasse für das Interface ConfigurationCommunicationInterface
private java.lang.String _elementsManagementPid
private MutableSetStorage _mutableSetStorage
public ConfigMutableSet(ConfigurationArea configurationArea, SystemObjectInformationInterface systemObjectInfo)
Konstruktor einer dynamischen Menge.
configurationArea
- Konfigurationsbereich dieser dynamischen MengesystemObjectInfo
- das korrespondierende Objekt aus den Konfigurationsdateienpublic void addChangeListener(MutableSetChangeListener listener)
de.bsvrz.dav.daf.main.config.MutableSet
MutableSetChangeListener.update(de.bsvrz.dav.daf.main.config.MutableSet, de.bsvrz.dav.daf.main.config.SystemObject[], de.bsvrz.dav.daf.main.config.SystemObject[])
des angegebenen Beobachters aufgerufen.addChangeListener
in interface MutableSet
listener
- Beobachter für Änderungen der Menge.public void addChangeListener(MutableSetChangeListener listener, short simulationVariant)
public void removeChangeListener(MutableSetChangeListener listener)
de.bsvrz.dav.daf.main.config.MutableSet
removeChangeListener
in interface MutableSet
listener
- Ein bisher für Änderungen der Menge angemeldeter Beobachter.public void removeChangeListener(MutableSetChangeListener listener, short simulationsVariant)
void informListeners(SystemObject[] addedObjects, SystemObject[] removedObjects, short simulationVariant)
Bei Änderungen an der dynamischen Menge werden alle angemeldeten Beobachter informiert. Die hinzugefügten und entfernten Elemente werden den Beobachtern ebenfalls mitgeteilt.
addedObjects
- hinzugefügte ElementeremovedObjects
- entfernte ElementesimulationVariant
- die Simulationsvariantepublic void deleteElements(short simulationVariant) throws ConfigurationChangeException
Löscht alle Elemente permanent aus dieser dynamischen Menge.
simulationVariant
- die SimulationsvarianteConfigurationChangeException
- Falls die Elemente zur Simulationsvariante nicht gelöscht werden konnten oder nicht gelöscht werden dürfen (bei Simulationsvariante 0).public java.util.List<SystemObject> deleteElementsOlderThan(long deletionTime) throws ConfigurationChangeException
Entfernt alle historischen Elemente, die vor dem angegebenen Zeitstempel auf ungültig gesetzt wurden
deletionTime
- Zeitstempel analog zu System.currentTimeMillis()ConfigurationChangeException
public java.util.List<SystemObject> getElements()
de.bsvrz.dav.daf.main.config.SystemObjectCollection
getElements
in interface SystemObjectCollection
public java.util.List<SystemObject> getElementsWithSimulationVariant(short simulationVariant)
public java.util.List<SystemObject> getElements(long time)
de.bsvrz.dav.daf.main.config.SystemObjectCollection
getElements
in interface SystemObjectCollection
time
- Zeitpunkt in Millisekunden seit 1970public java.util.List<SystemObject> getElementsWithSimulationVariant(long time, short simulationVariant)
public java.util.List<SystemObject> getElementsInPeriod(long startTime, long endTime)
de.bsvrz.dav.daf.main.config.SystemObjectCollection
getElementsInPeriod
in interface SystemObjectCollection
startTime
- Erster Zeitpunkt des Zeitbereichs in Millisekunden seit 1970.endTime
- Letzter Zeitpunkt des Zeitbereichs in Millisekunden seit 1970.public java.util.List<SystemObject> getElementsInPeriod(long startTime, long endTime, short simulationVariant)
Bestimmt die Elemente, die an mindestens einem Zeitpunkt des angegebenen Zeitbereichs zur Zusammenstellung gehört haben in Abhängigkeit der Simulationsvariante.
startTime
- Erster Zeitpunkt des Zeitbereichs in Millisekunden seit 1970.endTime
- Letzter Zeitpunkt des Zeitbereichs in Millisekunden seit 1970.simulationVariant
- die Simulationsvariantepublic java.util.List<SystemObject> getElementsDuringPeriod(long startTime, long endTime)
de.bsvrz.dav.daf.main.config.SystemObjectCollection
getElementsDuringPeriod
in interface SystemObjectCollection
startTime
- Erster Zeitpunkt des Zeitbereichs in Millisekunden seit 1970.endTime
- Letzter Zeitpunkt des Zeitbereichs in Millisekunden seit 1970.public java.util.List<SystemObject> getElementsDuringPeriod(long startTime, long endTime, short simulationVariant)
Bestimmt die Elemente, die während des gesamten angegebenen Zeitbereichs zur Zusammenstellung gehört haben in Abhängigkeit der Simulationsvariante.
startTime
- Erster Zeitpunkt des Zeitbereichs in Millisekunden seit 1970.endTime
- Letzter Zeitpunkt des Zeitbereichs in Millisekunden seit 1970.simulationVariant
- die Simulationsvariantepublic void add(SystemObject object, short simulationVariant) throws ConfigurationChangeException
Fügt ein Element zur dynamischen Menge in Abhängigkeit der Simulationsvariante.
object
- Element, welches hinzugefügt werden sollsimulationVariant
- die SimulationsvarianteConfigurationChangeException
- Falls das Objekt nicht hinzugefügt werden kann/darf.public void add(SystemObject[] objects) throws ConfigurationChangeException
de.bsvrz.dav.daf.main.config.ObjectSet
add
in interface ObjectSet
objects
- Die System-Objekte, die der Menge hinzugefügt werden sollen.ConfigurationChangeException
- Wenn eines der übergebenen Objekte nicht in die Menge aufgenommen
werden konnte und noch nicht in der Menge enthalten war.public void add(SystemObject[] objects, short simulationVariant) throws ConfigurationChangeException
Erweitert die add-Methode um eine Simulationsvariante, die angibt, in welcher Simulation diese Objekte der Menge hinzugefügt werden.
objects
- die hinzuzufügenden ElementesimulationVariant
- die SimulationsvarianteConfigurationChangeException
- Wenn mindestens eines der übergebenen Objekte nicht in die Menge aufgenommen werden konnte und noch nicht in der Menge enthalten war.add(de.bsvrz.dav.daf.main.config.SystemObject[])
private boolean checkChangeElementsPermit()
Prüft, ob die Konfiguration berechtigt ist an der Elementzugehörigkeit dieser Menge eine Änderung durchzuführen.
true
, falls die Konfiguration die Berechtigung hat, Änderungen an der Elementzugehörigkeit dieser Menge durchzuführen, false
, falls die Konfiguration diese Berechtigung nicht hat.private void loadElementAccessProperties()
public MutableSetStorage getMutableSetStorage()
public java.lang.String getElementsManagementPid()
private void checkObjectTypeOfElements(SystemObject[] objects) throws ConfigurationChangeException
Prüft, ob alle Objekte vom richtigen Typ sind.
objects
- zu prüfende ElementeConfigurationChangeException
- Falls ein Objekt nicht vom erlaubten Typ der Menge ist.public void remove(SystemObject object, short simulationVariant) throws ConfigurationChangeException
Entfernt ein Element aus der dynamischen Menge in Abhängigkeit der Simulationsvariante.
object
- Element, welches aus der dynamischen Menge entfernt werden sollsimulationVariant
- die SimulationsvarianteConfigurationChangeException
- Falls das Element nicht entfernt werden kann.public void remove(SystemObject[] objects) throws ConfigurationChangeException
de.bsvrz.dav.daf.main.config.ObjectSet
remove
in interface ObjectSet
objects
- Die System-Objekte, die aus der Menge entfernt werden sollen.ConfigurationChangeException
- Wenn eines der übergebenen Objekte nicht aus der Menge entfernt
werden konnte.public void remove(SystemObject[] objects, short simulationVariant) throws ConfigurationChangeException
Erweitert die remove-Methode um eine Simulationsvariante, die angibt, in welcher Simulation diese Objekte aus der Menge entfernt werden sollen.
objects
- Elemente, welche aus der dynamischen Menge entfernt werden sollensimulationVariant
- die SimulationsvarianteConfigurationChangeException
- Falls die Elemente nicht entfernt werden können.private java.util.List<MutableSetStorage.MutableElement> getMutableElements()
Diese Methode liest den konfigurierenden Datensatz für die Elemente dieser Menge ein und gibt sie in einer Liste zurück.
public java.util.Collection<? extends MutableElementInterface> getAllElements()
public void addChangeListener(short simulationVariant, MutableCollectionChangeListener changeListener)
de.bsvrz.dav.daf.main.config.MutableCollection
addChangeListener
in interface MutableCollection
simulationVariant
- Simulationsvariante unter der die dynamische Zusammenstellung betrachtet werden soll.changeListener
- Listener, der bei Änderungen der Elemente informiert werden soll.public void removeChangeListener(short simulationVariant, MutableCollectionChangeListener changeListener)
de.bsvrz.dav.daf.main.config.MutableCollection
removeChangeListener
in interface MutableCollection
simulationVariant
- Simulationsvariante der entsprechenden Anmeldung.changeListener
- Listener der entsprechenden Anmeldung.public java.util.List<SystemObject> getElements(short simulationVariant)
de.bsvrz.dav.daf.main.config.MutableCollection
getElements
in interface MutableCollection
simulationVariant
- Simulationsvariante unter der die dynamische Zusammenstellung betrachtet werden soll.void invalidateCache()
Wird aufgerufen, wenn das Objekt verändert wird. Soll alle zwischengespeicherten Daten neu anfordern bzw. zurücksetzen. Erbende Klassen müssen diese Funktion überschreiben, wenn sie Daten cachen.
invalidateCache
in class ConfigConfigurationObject
public void addConfigurationCommunicationChangeListener(ConfigurationCommunicationChangeListener listener)
de.bsvrz.dav.daf.main.config.ConfigurationCommunicationInterface
ConfigurationCommunicationChangeListener.configurationCommunicationChange(ConfigurationCommunicationInterface, boolean)
des angegebenen Beobachters aufgerufen.addConfigurationCommunicationChangeListener
in interface ConfigurationCommunicationInterface
listener
- Beobachter für Zustandsänderungen der Kommunikation.public void removeConfigurationCommunicationChangeListener(ConfigurationCommunicationChangeListener listener)
de.bsvrz.dav.daf.main.config.ConfigurationCommunicationInterface
removeConfigurationCommunicationChangeListener
in interface ConfigurationCommunicationInterface
listener
- Ein bisher für Zustandsänderungen der Kommunikation angemeldeter Beobachter.void configurationCommunicationChange(boolean configComStatus)
public boolean isConfigurationCommunicationActive()
de.bsvrz.dav.daf.main.config.ConfigurationCommunicationInterface
isConfigurationCommunicationActive
in interface ConfigurationCommunicationInterface