public class DafMutableSet extends DafObjectSet implements MutableSet
Mit dieser Klasse kann auf dynamische Mengen zugegriffen werden. Diesen Mengen können online Elemente hinzugefügt und entfernt, ohne dass eine neue Konfigurationsversion erstellt werden muss.
Modifier and Type | Field and Description |
---|---|
(package private) DafConfigurationCommunicationListenerSupport |
_configComSupport
Verwaltet die Listener für die Komunikation mit der Konfiguration
|
private DafDataModel |
_configuration
Repräsentiert die Konfiguration.
|
private static Debug |
_debug
DebugLogger für Debug-Ausgaben
|
private DafMutableCollectionSupport |
_mutableCollectionSupport
Objekt zur Verwaltung von Anmeldungen auf Änderungen der Elemente dieses Typs.
|
private java.util.HashMap<MutableSetChangeListener,MutableCollectionChangeListener> |
_observer2listener |
private ConfigurationRequester |
_requester
Hiermit werden Konfigurationsanfragen gestellt.
|
_setElementIds, _setElements
_configurationAreaId, _dataModel, _internType, ASPECT, ATTRIBUTE, ATTRIBUTE_GROUP, ATTRIBUTE_GROUP_USAGE, ATTRIBUTE_LIST_TYPE, CLIENT_APPLICATION, CONFIGURATION_APPLICATION, CONFIGURATION_AREA, CONFIGURATION_AUTHORITY, CONFIGURATION_OBJECT, CONFIGURATION_OBJECT_TYPE, DAV_APPLICATION, DYNAMIC_OBJECT, DYNAMIC_OBJECT_TYPE, FLOATING_POINT_NUMBER_ATTRIBUTE_TYPE, INTEGER_ATTRIBUTE_TYPE, INTEGER_VALUE_RANGE, INTEGER_VALUE_STATE, MUTABLE_SET, NON_MUTABLE_SET, NULL_OBJECT, OBJECT_DELETED, OBJECT_EXISTS, OBJECT_INVALID, OBJECT_SET_TYPE, OBJECT_SET_USE, REFERENCE_ATTRIBUTE_TYPE, STRING_ATTRIBUTE_TYPE, SYSTEM_OBJECT_TYPE, TIME_ATTRIBUTE_TYPE
Constructor and Description |
---|
DafMutableSet(DafDataModel dataModel)
Erzeugt ein neues Objekt dessen Eigenschaften im Anschluss mit der read-Methode eingelesen werden sollten.
|
DafMutableSet(long id,
java.lang.String pid,
java.lang.String name,
long typId,
byte state,
java.lang.String error,
DafDataModel dataModel,
short validFromVersionNumber,
short validToVersionNumber,
long responsibleObjectId,
long[] setIds,
java.util.ArrayList<java.lang.Long> setElementIds)
Erzeugt ein Objekt einer dynamischen Menge.
|
DafMutableSet(long id,
java.lang.String pid,
java.lang.String name,
long typId,
byte state,
java.lang.String error,
DafDataModel dataModel,
short validFromVersionNumber,
short validToVersionNumber,
long responsibleObjectId,
long[] setIds,
long[] setElementIds)
Erzeugt ein Objekt einer dynamischen Menge.
|
Modifier and Type | Method and Description |
---|---|
void |
add(SystemObject object)
Erweitert die Menge um ein weiteres Element.
|
void |
addChangeListener(MutableSetChangeListener observer)
Meldet einen Beobachter an, der informiert wird, falls sich an der dynamischen Menge etwas ändert.
|
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.
|
void |
collectionChanged(short simVariant,
java.util.List<SystemObject> addedElements,
java.util.List<SystemObject> removedElements)
Leitet die Aktualisierungsnachrichten bzgl.
|
void |
configurationCommunicationChange(boolean configComStatus) |
java.util.List<SystemObject> |
getElements()
Gibt die Elemente zurück, die sich aktuell in der dynamischen Menge befinden.
|
java.util.List<SystemObject> |
getElements(long time)
Gibt die Elemente zurück, die sich zu einem bestimmten Zeitpunkt in der dynamischen Menge befinden.
|
private java.util.List<SystemObject> |
getElements(long startTime,
long endTime,
boolean validDuringEntirePeriod)
Diese interne Methode führt die Anfrage nach allen Elementen dieser Menge bei der Konfiguration durch.
|
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)
Gibt die Elemente zurück, die während des gesamten Zeitraumes gültig waren.
|
java.util.List<SystemObject> |
getElementsInPeriod(long startTime,
long endTime)
Gibt die Elemente zurück, die innerhalb des angegebenen Zeitraumes gültig sind bzw. gültig waren.
|
boolean |
isConfigurationCommunicationActive()
Gibt an, ob die Kommunikation mit der verwaltenden Konfiguration dieses Objekts aktiv ist.
|
void |
remove(SystemObject object)
Entfernt ein Element der Menge.
|
void |
removeChangeListener(MutableSetChangeListener observer)
Meldet einen Beobachter wieder ab.
|
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.
|
void |
update(SystemObject[] addedObjects,
SystemObject[] removedObjects)
Diese Methode informiert alle Beobachter über Veränderungen an der dynamischen Menge.
|
add, getObjectSetType, parseToString, read, read, remove, write
addSet, duplicate, duplicate, getMutableSet, getNonMutableSet, getNotValidSince, getObjectSet, getObjectSets, getValidSince, isValid, removeSet, revalidate
compareTo, equals, getConfigurationArea, getConfigurationAreaId, getConfigurationData, getConfigurationData, getConfigurationData, getDataModel, getId, getInfo, getInternType, getName, getNameOrPidOrId, getObject, getPid, getPidOrId, getPidOrNameOrId, getState, getType, getUsedAttributeGroupUsages, hashCode, invalidate, isOfType, isOfType, setConfigurationData, setConfigurationData, setConfigurationData, setName, setState, storeName, 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 final DafDataModel _configuration
Repräsentiert die Konfiguration.
private ConfigurationRequester _requester
Hiermit werden Konfigurationsanfragen gestellt.
DafConfigurationCommunicationListenerSupport _configComSupport
Verwaltet die Listener für die Komunikation mit der Konfiguration
private DafMutableCollectionSupport _mutableCollectionSupport
Objekt zur Verwaltung von Anmeldungen auf Änderungen der Elemente dieses Typs.
private java.util.HashMap<MutableSetChangeListener,MutableCollectionChangeListener> _observer2listener
public DafMutableSet(DafDataModel dataModel)
Erzeugt ein neues Objekt dessen Eigenschaften im Anschluss mit der read-Methode eingelesen werden sollten.
dataModel
- DataModel Implementierung, der das neue Objekt zugeordnet ist.public DafMutableSet(long id, java.lang.String pid, java.lang.String name, long typId, byte state, java.lang.String error, DafDataModel dataModel, short validFromVersionNumber, short validToVersionNumber, long responsibleObjectId, long[] setIds, java.util.ArrayList<java.lang.Long> setElementIds)
Erzeugt ein Objekt einer dynamischen Menge.
public DafMutableSet(long id, java.lang.String pid, java.lang.String name, long typId, byte state, java.lang.String error, DafDataModel dataModel, short validFromVersionNumber, short validToVersionNumber, long responsibleObjectId, long[] setIds, long[] setElementIds)
Erzeugt ein Objekt einer dynamischen Menge.
public java.util.List<SystemObject> getElements()
Gibt die Elemente zurück, die sich aktuell in der dynamischen Menge befinden.
getElements
in interface SystemObjectCollection
getElements
in class DafObjectSet
public java.util.List<SystemObject> getElements(long time)
Gibt die Elemente zurück, die sich zu einem bestimmten Zeitpunkt in der dynamischen Menge befinden.
getElements
in interface SystemObjectCollection
getElements
in class DafObjectSet
time
- der zu betrachtende Zeitpunktpublic java.util.List<SystemObject> getElementsInPeriod(long startTime, long endTime)
Gibt die Elemente zurück, die innerhalb des angegebenen Zeitraumes gültig sind bzw. gültig waren.
getElementsInPeriod
in interface SystemObjectCollection
getElementsInPeriod
in class DafObjectSet
startTime
- Beginn des zu betrachtenden ZeitraumesendTime
- Ende des zu betrachtenden Zeitraumespublic java.util.List<SystemObject> getElementsDuringPeriod(long startTime, long endTime)
Gibt die Elemente zurück, die während des gesamten Zeitraumes gültig waren.
getElementsDuringPeriod
in interface SystemObjectCollection
getElementsDuringPeriod
in class DafObjectSet
startTime
- Beginn des zu betrachtenden ZeitraumesendTime
- Ende des zu betrachtenden Zeitraumesprivate java.util.List<SystemObject> getElements(long startTime, long endTime, boolean validDuringEntirePeriod)
Diese interne Methode führt die Anfrage nach allen Elementen dieser Menge bei der Konfiguration durch.
startTime
- Beginn des zu betrachtenden ZeitraumesendTime
- Ende des zu betrachtenden ZeitraumesvalidDuringEntirePeriod
- ob die Elemente während des gesamten Zeitraumes in der Menge warenpublic void addChangeListener(MutableSetChangeListener observer)
Meldet einen Beobachter an, der informiert wird, falls sich an der dynamischen Menge etwas ändert.
addChangeListener
in interface MutableSet
observer
- Der Beobachterpublic void removeChangeListener(MutableSetChangeListener observer)
Meldet einen Beobachter wieder ab.
removeChangeListener
in interface MutableSet
observer
- Der Beobachterpublic void add(SystemObject object) throws ConfigurationChangeException
Erweitert die Menge um ein weiteres Element. Wenn das angegebene Element schon in der Menge enthalten ist, dann wird die Menge nicht verändert. Wenn der Typ des angegebenen System-Objekts in der Menge nicht erlaubt ist, wird die Menge nicht verändert und eine Ausnahme generiert. Wenn bei online änderbaren Mengen die maximale Anzahl von Objekten bereits erreicht ist, wird die Menge nicht verändert und eine Ausnahme generiert.
add
in interface ObjectSet
add
in class DafObjectSet
object
- Das System-Objekt, das der Menge hinzugefügt werden soll.ConfigurationChangeException
- Wenn eines der übergebenen Objekte nicht in die Menge aufgenommen werden konnte und noch nicht in der Menge enthalten war.public void remove(SystemObject object) throws ConfigurationChangeException
Entfernt ein Element der Menge. Wenn das Element nicht in der Menge enthalten ist, wird es ignoriert. Ausnahmen werden generiert, u.a. wenn bei online änderbaren Mengen die minimale Anzahl von Objekten bereits erreicht ist. Bei Ausnahmen wird die Menge nicht verändert.
remove
in interface ObjectSet
remove
in class DafObjectSet
object
- Das System-Objekt, das aus der Menge entfernt werden soll.ConfigurationChangeException
- Wenn die minimale Anzahl von Objekten unterschritten werden würde.public void update(SystemObject[] addedObjects, SystemObject[] removedObjects)
Diese Methode informiert alle Beobachter über Veränderungen an der dynamischen Menge.
addedObjects
- Hinzugefügte ElementeremovedObjects
- Entfernte Elementepublic void addConfigurationCommunicationChangeListener(ConfigurationCommunicationChangeListener listener)
ConfigurationCommunicationInterface
Meldet einen Beobachter für die Zustandsänderungen der Kommunikation mit der verwaltenden Konfigurationen dieses Objekts an. Bei Änderungen wird die Methode 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)
ConfigurationCommunicationInterface
Meldet einen Beobachter für die Zustandsänderungen dieser Kommunikation wieder ab.
removeConfigurationCommunicationChangeListener
in interface ConfigurationCommunicationInterface
listener
- Ein bisher für Zustandsänderungen der Kommunikation angemeldeter Beobachter.public void configurationCommunicationChange(boolean configComStatus)
public boolean isConfigurationCommunicationActive()
ConfigurationCommunicationInterface
Gibt an, ob die Kommunikation mit der verwaltenden Konfiguration dieses Objekts aktiv ist.
isConfigurationCommunicationActive
in interface ConfigurationCommunicationInterface
public void addChangeListener(short simulationVariant, MutableCollectionChangeListener changeListener)
MutableCollection
Meldet einen Listener auf Änderungen der Elemente einer dynamischen Menge oder eines dynamischen Typs unter Berücksichtigung der Simulationsvariante an.
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)
MutableCollection
Meldet einen zuvor angemeldeten Listener wieder ab.
removeChangeListener
in interface MutableCollection
simulationVariant
- Simulationsvariante der entsprechenden Anmeldung.changeListener
- Listener der entsprechenden Anmeldung.public java.util.List<SystemObject> getElements(short simulationVariant)
MutableCollection
Bestimmt die aktuellen Elemente einer dynamischen Menge oder eines dynamischen Typs unter Berücksichtigung der Simulationsvariante.
getElements
in interface MutableCollection
simulationVariant
- Simulationsvariante unter der die dynamische Zusammenstellung betrachtet werden soll.public void collectionChanged(short simVariant, java.util.List<SystemObject> addedElements, java.util.List<SystemObject> removedElements)
Leitet die Aktualisierungsnachrichten bzgl. Änderungen von dynamischen Mengen und dynamischen Typen an das entsprechende Verwaltungsobjekt weiter.
simVariant
- Simulationsvariante der ÄnderungaddedElements
- Hinzugefügte Elemente der dynamischen ZusammenstellungremovedElements
- Entfernte Elemente der dynamischen Zusammenstellung