|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.bsvrz.puk.config.configFile.datamodel.AbstractConfigSystemObject
de.bsvrz.puk.config.configFile.datamodel.ConfigSystemObject
de.bsvrz.puk.config.configFile.datamodel.ConfigConfigurationObject
de.bsvrz.puk.config.configFile.datamodel.ConfigObjectSet
de.bsvrz.puk.config.configFile.datamodel.ConfigMutableSet
public class ConfigMutableSet
Implementierung des Interfaces MutableSet
für dynamische Mengen auf Seiten der Konfiguration.
Nested Class Summary | |
---|---|
private class |
ConfigMutableSet.MutableElement
Repräsentiert ein Element der Menge mit dem Zeitstempel, ab dem das Element zur Menge gehört und dem Zeitstempel, ab dem das Element nicht mehr zur Menge gehört. |
Field Summary | |
---|---|
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 byte[] |
_elementsDataBytes
Byte Array mit dem aus der Datei _elementsFile gelesenen oder noch zu schreibenden Datensatz mit der Elementzugehörigkeit der Menge |
private boolean |
_elementsDataBytesChanged
Muss der in _elementsDataBytes enthaltene Datensatz noch in der Datei gespeichert werden? |
private File |
_elementsFile
Datei in der die Elementzugehörigkeit dieser Menge gespeichert werden soll, oder null , falls die Elementzugehörigkeit als Datensatz der
Menge gespeichert werden soll |
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. |
Fields inherited from class de.bsvrz.puk.config.configFile.datamodel.ConfigSystemObject |
---|
_systemObjectInfo |
Constructor Summary | |
---|---|
ConfigMutableSet(ConfigurationArea configurationArea,
SystemObjectInformationInterface systemObjectInfo)
Konstruktor einer dynamischen Menge. |
Method Summary | |
---|---|
void |
add(SystemObject[] objects)
|
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)
|
void |
addChangeListener(MutableSetChangeListener listener,
short simulationVariant)
|
void |
addChangeListener(short simulationVariant,
MutableCollectionChangeListener changeListener)
|
void |
addConfigurationCommunicationChangeListener(ConfigurationCommunicationChangeListener listener)
|
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> |
getElements()
|
List<SystemObject> |
getElements(long time)
|
List<SystemObject> |
getElements(short simulationVariant)
|
List<SystemObject> |
getElementsDuringPeriod(long startTime,
long endTime)
|
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)
|
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<ConfigMutableSet.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. |
boolean |
isConfigurationCommunicationActive()
|
private void |
loadElementAccessProperties()
|
void |
remove(SystemObject[] objects)
|
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)
|
void |
removeChangeListener(MutableSetChangeListener listener,
short simulationsVariant)
|
void |
removeChangeListener(short simulationVariant,
MutableCollectionChangeListener changeListener)
|
void |
removeConfigurationCommunicationChangeListener(ConfigurationCommunicationChangeListener listener)
|
(package private) void |
saveElementsData()
|
private void |
saveMutableSets(List<ConfigMutableSet.MutableElement> mutableElements)
Speichert die Elemente dieser Menge (auch historische) in einem konfigurierenden Datensatz ab. |
private void |
setConfigurationData(SystemObject[] addedElements,
SystemObject[] removedElements,
short simulationVariant)
Speichert einen konfigurierenden Datensatz mit den übergebenen Änderungen der Elemente an der Menge. |
Methods inherited from class de.bsvrz.puk.config.configFile.datamodel.ConfigObjectSet |
---|
add, getObjectSetType, remove |
Methods inherited from class de.bsvrz.puk.config.configFile.datamodel.ConfigConfigurationObject |
---|
addSet, directDuplicate, directModification, duplicate, duplicate, getMutableSet, getNonMutableSet, getNotValidSince, getObjectSet, getObjectSets, getValidSince, invalidate, isValid, removeSet, revalidate, simpleRevalidate |
Methods inherited from class de.bsvrz.puk.config.configFile.datamodel.ConfigSystemObject |
---|
checkChangePermit, createConfigurationData, equals, getConfigurationData, getConfigurationData, getConfigurationData, getConfigurationData, getConfigurationData, getConfigurationDataBytes, getId, getName, getPid, getSerializerVersion, getType, getUsedAttributeGroupUsages, hashCode, removeConfigurationData, setConfigurationData, setConfigurationData, setName, simpleInvalidation |
Methods inherited from class de.bsvrz.puk.config.configFile.datamodel.AbstractConfigSystemObject |
---|
compareTo, getConfigurationArea, getConfigurationData, getDataModel, getInfo, getNameOrPidOrId, getPidOrId, getPidOrNameOrId, isOfType, isOfType, setConfigurationData, toString |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface de.bsvrz.dav.daf.main.config.ObjectSet |
---|
add, getObjectSetType, remove |
Methods inherited from interface de.bsvrz.dav.daf.main.config.ConfigurationObject |
---|
addSet, duplicate, duplicate, getMutableSet, getNonMutableSet, getNotValidSince, getObjectSet, getObjectSets, getValidSince, removeSet, revalidate |
Methods inherited from interface de.bsvrz.dav.daf.main.config.SystemObject |
---|
getConfigurationArea, getConfigurationData, getConfigurationData, getConfigurationData, getDataModel, getId, getInfo, getName, getNameOrPidOrId, getPid, getPidOrId, getPidOrNameOrId, getType, getUsedAttributeGroupUsages, invalidate, isOfType, isOfType, isValid, setConfigurationData, setConfigurationData, setConfigurationData, setName, toString |
Methods inherited from interface java.lang.Comparable |
---|
compareTo |
Methods inherited from interface de.bsvrz.dav.daf.main.config.ConfigurationObject |
---|
addSet, duplicate, duplicate, getMutableSet, getNonMutableSet, getNotValidSince, getObjectSet, getObjectSets, getValidSince, removeSet, revalidate |
Methods inherited from interface de.bsvrz.dav.daf.main.config.SystemObject |
---|
getConfigurationArea, getConfigurationData, getConfigurationData, getConfigurationData, getDataModel, getId, getInfo, getName, getNameOrPidOrId, getPid, getPidOrId, getPidOrNameOrId, getType, getUsedAttributeGroupUsages, invalidate, isOfType, isOfType, isValid, setConfigurationData, setConfigurationData, setConfigurationData, setName, toString |
Methods inherited from interface java.lang.Comparable |
---|
compareTo |
Field Detail |
---|
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
private File _elementsFile
null
, falls die Elementzugehörigkeit als Datensatz der
Menge gespeichert werden soll
private byte[] _elementsDataBytes
private boolean _elementsDataBytesChanged
ConfigurationCommunicationListenerSupport _configComHelper
ConfigurationCommunicationInterface
private String _elementsManagementPid
Constructor Detail |
---|
public ConfigMutableSet(ConfigurationArea configurationArea, SystemObjectInformationInterface systemObjectInfo)
configurationArea
- Konfigurationsbereich dieser dynamischen MengesystemObjectInfo
- das korrespondierende Objekt aus den KonfigurationsdateienMethod Detail |
---|
public void addChangeListener(MutableSetChangeListener listener)
addChangeListener
in interface MutableSet
public void addChangeListener(MutableSetChangeListener listener, short simulationVariant)
public void removeChangeListener(MutableSetChangeListener listener)
removeChangeListener
in interface MutableSet
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 Simulationsvariante
ConfigurationChangeException
- Falls die Elemente zur Simulationsvariante nicht gelöscht werden konnten oder nicht gelöscht werden dürfen (bei Simulationsvariante 0).public List<SystemObject> getElements()
getElements
in interface SystemObjectCollection
public List<SystemObject> getElementsWithSimulationVariant(short simulationVariant)
public List<SystemObject> getElements(long time)
getElements
in interface SystemObjectCollection
public List<SystemObject> getElementsWithSimulationVariant(long time, short simulationVariant)
public List<SystemObject> getElementsInPeriod(long startTime, long endTime)
getElementsInPeriod
in interface SystemObjectCollection
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 Simulationsvariante
public List<SystemObject> getElementsDuringPeriod(long startTime, long endTime)
getElementsDuringPeriod
in interface SystemObjectCollection
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 Simulationsvariante
public void add(SystemObject object, short simulationVariant) throws ConfigurationChangeException
object
- Element, welches hinzugefügt werden sollsimulationVariant
- die Simulationsvariante
ConfigurationChangeException
- Falls das Objekt nicht hinzugefügt werden kann/darf.public void add(SystemObject[] objects) throws ConfigurationChangeException
add
in interface ObjectSet
ConfigurationChangeException
public void add(SystemObject[] objects, short simulationVariant) throws ConfigurationChangeException
objects
- die hinzuzufügenden ElementesimulationVariant
- die Simulationsvariante
ConfigurationChangeException
- 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 Elemente
ConfigurationChangeException
- 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 Simulationsvariante
ConfigurationChangeException
- Falls das Element nicht entfernt werden kann.public void remove(SystemObject[] objects) throws ConfigurationChangeException
remove
in interface ObjectSet
ConfigurationChangeException
public void remove(SystemObject[] objects, short simulationVariant) throws ConfigurationChangeException
objects
- Elemente, welche aus der dynamischen Menge entfernt werden sollensimulationVariant
- die Simulationsvariante
ConfigurationChangeException
- Falls die Elemente nicht entfernt werden können.private void setConfigurationData(SystemObject[] addedElements, SystemObject[] removedElements, short simulationVariant) throws ConfigurationChangeException
addedElements
- hinzugefügte ElementeremovedElements
- entfernte ElementesimulationVariant
- Simulationsvariante
ConfigurationChangeException
- Wenn der konfigurierende Datensatz nicht geschrieben werden konnte.private void saveMutableSets(List<ConfigMutableSet.MutableElement> mutableElements) throws ConfigurationChangeException
mutableElements
- Elemente dieser Menge
ConfigurationChangeException
- Falls die Elemente nicht in einem konfigurierenden Datensatz abgespeichert werden können.private List<ConfigMutableSet.MutableElement> getMutableElements()
void saveElementsData()
public void addChangeListener(short simulationVariant, MutableCollectionChangeListener changeListener)
addChangeListener
in interface MutableCollection
public void removeChangeListener(short simulationVariant, MutableCollectionChangeListener changeListener)
removeChangeListener
in interface MutableCollection
public List<SystemObject> getElements(short simulationVariant)
getElements
in interface MutableCollection
public void addConfigurationCommunicationChangeListener(ConfigurationCommunicationChangeListener listener)
addConfigurationCommunicationChangeListener
in interface ConfigurationCommunicationInterface
public void removeConfigurationCommunicationChangeListener(ConfigurationCommunicationChangeListener listener)
removeConfigurationCommunicationChangeListener
in interface ConfigurationCommunicationInterface
void configurationCommunicationChange(boolean configComStatus)
public boolean isConfigurationCommunicationActive()
isConfigurationCommunicationActive
in interface ConfigurationCommunicationInterface
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |