public class ConfigMutableSet extends ConfigObjectSet implements MutableSet
MutableSet
für dynamische Mengen auf Seiten der Konfiguration.Modifier and Type | Field and Description |
---|---|
private Map<Short,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 Set<SystemObject> |
_elements
Die aktuellen Elemente dieser dynamischen Menge.
|
private String |
_elementsManagementPid |
private Object |
_lockElementAccessProperties
Objekt für den synchronisierten Zugriff auf die Fields _elementAccessFieldsInitialized, _elementChangesAllowed und _elementsFile.
|
private Object |
_lockElements
Objekt für den synchronisierten Zugriff auf die
Elemente . |
private 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.
|
List<SystemObject> |
deleteElementsOlderThan(long deletionTime)
Entfernt alle historischen Elemente, die vor dem angegebenen Zeitstempel auf ungültig gesetzt wurden
|
Collection<? extends MutableElementInterface> |
getAllElements() |
List<SystemObject> |
getElements()
Bestimmt die zum aktuellen Zeitpunkt zur Zusammenstellung gehörenden Elemente.
|
List<SystemObject> |
getElements(long time)
Bestimmt die zu einem vorgegebenen Zeitpunkt zur Zusammenstellung gehörenden Elemente.
|
List<SystemObject> |
getElements(short simulationVariant)
Bestimmt die aktuellen Elemente einer dynamischen Menge oder eines dynamischen Typs unter Berücksichtigung der Simulationsvariante.
|
List<SystemObject> |
getElementsDuringPeriod(long startTime,
long endTime)
Bestimmt die Elemente, die während des gesamten angegebenen Zeitbereichs zur Zusammenstellung gehört haben.
|
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.
|
List<SystemObject> |
getElementsInPeriod(long startTime,
long endTime)
Bestimmt die Elemente, die an mindestens einem Zeitpunkt des angegebenen Zeitbereichs zur Zusammenstellung gehört haben.
|
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.
|
String |
getElementsManagementPid() |
List<SystemObject> |
getElementsWithSimulationVariant(long time,
short simulationVariant) |
List<SystemObject> |
getElementsWithSimulationVariant(short simulationVariant) |
private 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.
|
(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
compareTo
private static final Debug _debug
private ConfigMutableCollectionSupport _mutableCollectionSupport
private Map<Short,Set<MutableSetChangeListener>> _changeListeners
private final Object _lockListeners
Listener
.private Set<SystemObject> _elements
private final Object _lockElements
Elemente
.private final Object _lockElementAccessProperties
private boolean _elementAccessFieldsInitialized
private boolean _elementChangesAllowed
ConfigurationCommunicationListenerSupport _configComHelper
ConfigurationCommunicationInterface
private String _elementsManagementPid
private MutableSetStorage _mutableSetStorage
public ConfigMutableSet(ConfigurationArea configurationArea, SystemObjectInformationInterface systemObjectInfo)
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)
addedObjects
- hinzugefügte ElementeremovedObjects
- entfernte ElementesimulationVariant
- die Simulationsvariantepublic void deleteElements(short simulationVariant) throws ConfigurationChangeException
simulationVariant
- die SimulationsvarianteConfigurationChangeException
- Falls die Elemente zur Simulationsvariante nicht gelöscht werden konnten oder nicht gelöscht werden dürfen (bei Simulationsvariante 0).public List<SystemObject> deleteElementsOlderThan(long deletionTime) throws ConfigurationChangeException
deletionTime
- Zeitstempel analog zu System.currentTimeMillis()ConfigurationChangeException
public List<SystemObject> getElements()
de.bsvrz.dav.daf.main.config.SystemObjectCollection
getElements
in interface SystemObjectCollection
public List<SystemObject> getElementsWithSimulationVariant(short simulationVariant)
public List<SystemObject> getElements(long time)
de.bsvrz.dav.daf.main.config.SystemObjectCollection
getElements
in interface SystemObjectCollection
time
- Zeitpunkt in Millisekunden seit 1970public List<SystemObject> getElementsWithSimulationVariant(long time, short simulationVariant)
public 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 List<SystemObject> getElementsInPeriod(long startTime, long endTime, short simulationVariant)
startTime
- Erster Zeitpunkt des Zeitbereichs in Millisekunden seit 1970.endTime
- Letzter Zeitpunkt des Zeitbereichs in Millisekunden seit 1970.simulationVariant
- die Simulationsvariantepublic 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 List<SystemObject> getElementsDuringPeriod(long startTime, long endTime, short simulationVariant)
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
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
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()
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 String getElementsManagementPid()
private void checkObjectTypeOfElements(SystemObject[] objects) throws ConfigurationChangeException
objects
- zu prüfende ElementeConfigurationChangeException
- Falls ein Objekt nicht vom erlaubten Typ der Menge ist.public void remove(SystemObject object, short simulationVariant) throws ConfigurationChangeException
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
objects
- Elemente, welche aus der dynamischen Menge entfernt werden sollensimulationVariant
- die SimulationsvarianteConfigurationChangeException
- Falls die Elemente nicht entfernt werden können.private List<MutableSetStorage.MutableElement> getMutableElements()
public 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 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()
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