public class DafMutableCollectionSupport
extends java.lang.Object
Hilfsklasse zur Verwaltung von Anmeldungen auf Änderungen der Elemente von dynamischen Typen und dynamischen Mengen.
Modifier and Type | Class and Description |
---|---|
private static class |
DafMutableCollectionSupport.ListenersAndElements
Hilfsobjekt mit den angemeldeten Listenern etc. aus der Map
_simVariant2ListenersAndElements für die entsprechende Simulationsvariante. |
Modifier and Type | Field and Description |
---|---|
private static Debug |
_debug
Logger für Debug-Ausgaben.
|
private MutableCollection |
_mutableCollection
Zugehörige dynamische Menge oder dynamischer Typ.
|
private java.util.HashMap<java.lang.Short,DafMutableCollectionSupport.ListenersAndElements> |
_simVariant2ListenersAndElements
Map mit der Zuordnung von Simulationsvarianten zu einem Hilfsobjekt an dem die Liste der zugehörigen angemeldeten Listenern etc. gespeichert ist.
|
Constructor and Description |
---|
DafMutableCollectionSupport(MutableCollection mutableCollection)
Erzeugt ein neues Verwaltungsobjekt.
|
Modifier and Type | Method and Description |
---|---|
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 |
collectionChanged(short simulationVariant,
java.util.List<SystemObject> addedElements,
java.util.List<SystemObject> removedElements)
Informiert die angemeldeten Listener über hinzugefügte oder entfernte Elemente der zugehörigen dynamischen Zusammenstellung.
|
private void |
ensureSubscribedState(DafMutableCollectionSupport.ListenersAndElements listenersAndElements,
short simulationVariant)
Stellt sicher, dass eine und höchstens eine Anmeldung bei der Konfiguration auf Änderungen der Elemente der zugehörigen dynamischen Zusammenstellung unter der angegebenen Simulationsvariante vorliegt.
|
private void |
ensureUnsubscribedState(DafMutableCollectionSupport.ListenersAndElements listenersAndElements,
short simulationVariant)
Stellt sicher, dass keine Anmeldung bei der Konfiguration auf Änderungen der Elemente der zugehörigen dynamischen Zusammenstellung unter der angegebenen Simulationsvariante vorliegt.
|
java.util.List<SystemObject> |
getElements(short simulationVariant)
Bestimmt die aktuellen Elemente der zugehörigen dynamischen Menge oder des zugehörigen dynamischen Typs unter Berücksichtigung der Simulationsvariante.
|
private DafMutableCollectionSupport.ListenersAndElements |
getListenersAndElements(short simulationVariant,
boolean create)
Bestimmt das Hilfsobjekt mit den angemeldeten Listenern etc. aus der Map
_simVariant2ListenersAndElements für die entsprechende Simulationsvariante. |
boolean |
removeChangeListener(short simulationVariant,
MutableCollectionChangeListener changeListener)
Meldet einen zuvor angemeldeten Listener wieder ab.
|
private static final Debug _debug
Logger für Debug-Ausgaben.
private MutableCollection _mutableCollection
Zugehörige dynamische Menge oder dynamischer Typ.
private java.util.HashMap<java.lang.Short,DafMutableCollectionSupport.ListenersAndElements> _simVariant2ListenersAndElements
Map mit der Zuordnung von Simulationsvarianten zu einem Hilfsobjekt an dem die Liste der zugehörigen angemeldeten Listenern etc. gespeichert ist.
public DafMutableCollectionSupport(MutableCollection mutableCollection)
Erzeugt ein neues Verwaltungsobjekt.
mutableCollection
- dynamische Menge oder dynamischer Typ dessen Anmeldungen durch dieses Objekt verwaltet werden.public 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.
simulationVariant
- Simulationsvariante unter der die dynamische Zusammenstellung betrachtet werden soll.changeListener
- Listener, der bei Änderungen der Elemente informiert werden soll.public boolean removeChangeListener(short simulationVariant, MutableCollectionChangeListener changeListener)
Meldet einen zuvor angemeldeten Listener wieder ab.
simulationVariant
- Simulationsvariante der entsprechenden Anmeldung.changeListener
- Listener der entsprechenden Anmeldung.true
, falls ein entsprechender Listener gefunden und abgemeldet wurde.public void collectionChanged(short simulationVariant, java.util.List<SystemObject> addedElements, java.util.List<SystemObject> removedElements)
Informiert die angemeldeten Listener über hinzugefügte oder entfernte Elemente der zugehörigen dynamischen Zusammenstellung.
simulationVariant
- Simulationsvariante auf die sich die Änderung bezieht.addedElements
- Hinzugefügte Elemente.removedElements
- Entfernte Elemente.private void ensureSubscribedState(DafMutableCollectionSupport.ListenersAndElements listenersAndElements, short simulationVariant)
Stellt sicher, dass eine und höchstens eine Anmeldung bei der Konfiguration auf Änderungen der Elemente der zugehörigen dynamischen Zusammenstellung unter der angegebenen Simulationsvariante vorliegt.
listenersAndElements
- Hilfsobjekt aus der Map _simVariant2ListenersAndElements
für die entsprechende Simulationsvariante.simulationVariant
- Simulationsvariante, die angemeldet werden soll.private void ensureUnsubscribedState(DafMutableCollectionSupport.ListenersAndElements listenersAndElements, short simulationVariant)
Stellt sicher, dass keine Anmeldung bei der Konfiguration auf Änderungen der Elemente der zugehörigen dynamischen Zusammenstellung unter der angegebenen Simulationsvariante vorliegt.
listenersAndElements
- Hilfsobjekt aus der Map _simVariant2ListenersAndElements
für die entsprechende Simulationsvariante.simulationVariant
- Simulationsvariante, die abgemeldet werden soll.private DafMutableCollectionSupport.ListenersAndElements getListenersAndElements(short simulationVariant, boolean create)
Bestimmt das Hilfsobjekt mit den angemeldeten Listenern etc. aus der Map _simVariant2ListenersAndElements
für die entsprechende Simulationsvariante.
simulationVariant
- Simulationsvariante des Hilfsobjekts mit den gewünschten Listenerncreate
- Wenn true
, dann wird eine neues Hilfsobjekt erzeugt und in die Map eingetragen, wenn noch kein Hilfsobjekt mit den angemeldeten Listenern für diese Simulationsvariante vorhanden war.null
, falls kein Hilfsobjekt vorhanden war und kein neues erzeugt werden sollte.public java.util.List<SystemObject> getElements(short simulationVariant)
Bestimmt die aktuellen Elemente der zugehörigen dynamischen Menge oder des zugehörigen dynamischen Typs unter Berücksichtigung der Simulationsvariante.
simulationVariant
- Simulationsvariante unter der die dynamische Zusammenstellung betrachtet werden soll.