Class AenderbareMenge<E extends SystemObjekt>
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- de.bsvrz.sys.funclib.bitctrl.modell.AenderbareMenge<E>
-
- Type Parameters:
E- der Typ der Objekte in der Menge.
- All Implemented Interfaces:
SystemObjekt,java.lang.Iterable<E>,java.util.Collection<E>
public class AenderbareMenge<E extends SystemObjekt> extends java.util.AbstractCollection<E> implements SystemObjekt
Wrapper für online änderbare Mengen im Datenverteiler.
-
-
Constructor Summary
Constructors Constructor Description AenderbareMenge(ObjektFactory objektFactory, de.bsvrz.dav.daf.main.config.MutableSet mutableSet, int minAnzahl, int maxAnzahl, SystemObjekt systemObjekt)Initialisiert den Wrapper.
-
Method Summary
Modifier and Type Method Description booleanadd(E e)voidaddMengenListener(MengenListener l)Registriert einen Listener für Änderungen an dieser Menge.voidcleanUp()Entfernt alle invalidierten Objekte aus der Menge.protected voidfireMengeAktualisiert(java.util.Collection<E> hinzugefuegt, java.util.Collection<E> entfernt)Informiert die angemeldeten Listener über eine Änderung an dieser Menge.longgetId()Gibt die ID des Systemobjekts zurück.SystemObjektBereichgetKonfigurationsBereich()Wird nicht unterstützt und wirft immer eineUnsupportedOperationException.intgetMaxAnzahl()Gibt die maximal erlaubte Anzahl von Objekten in der Menge zurück.intgetMinAnzahl()Gibt die minimal erlaubte Anzahl von Objekten in der Menge zurück.de.bsvrz.dav.daf.main.config.MutableSetgetMutableSet()Gibt die gekapselte Menge zurück.java.lang.StringgetName()Gibt den Namen des Systemobjekts zurück.java.lang.StringgetPid()Gibt die PID des Systemobjekts zurück.de.bsvrz.dav.daf.main.config.SystemObjectgetSystemObject()Gibt das gekapselte Systemobjekt des Datenverteilers zurück.SystemObjektgetSystemObjekt()Gibt das Systemobjekt zurück, an dem die Menge hängt.SystemObjektTypgetTyp()Wird nicht unterstützt und wirft immer eineUnsupportedOperationException.java.util.Iterator<E>iterator()booleanremove(java.lang.Object o)booleanremoveAndInvalidate(E o)Entfernt ein Objekt aus der Menge und invalidert das Objekt anschließend.voidremoveMengenListener(MengenListener l)Deregistriert einen Listener für Änderungen an dieser Menge.intsize()java.lang.StringtoString()-
Methods inherited from class java.util.AbstractCollection
addAll, clear, contains, containsAll, isEmpty, removeAll, retainAll, toArray, toArray
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
-
-
-
Constructor Detail
-
AenderbareMenge
public AenderbareMenge(ObjektFactory objektFactory, de.bsvrz.dav.daf.main.config.MutableSet mutableSet, int minAnzahl, int maxAnzahl, SystemObjekt systemObjekt)
Initialisiert den Wrapper.Hinweis: Der Konstruktor gehört nicht zur public API.
- Parameters:
objektFactory- die Objektfabrik, die von der Menge verwendet werden soll.mutableSet- die zu kapselnde Menge,minAnzahl- die minimale Anzahl von Objekten in der Menge.maxAnzahl- die maximale Anzahl von Objekten in der Menge.systemObjekt- das Systemobjekt an dem die Menge hängt.
-
-
Method Detail
-
getMutableSet
public de.bsvrz.dav.daf.main.config.MutableSet getMutableSet()
Gibt die gekapselte Menge zurück.Hinweis: Diese Methode gehört nicht zur public API.
- Returns:
- die gekapselte Menge.
-
getMinAnzahl
public int getMinAnzahl()
Gibt die minimal erlaubte Anzahl von Objekten in der Menge zurück.- Returns:
- die minimale Objektanzahl.
-
getMaxAnzahl
public int getMaxAnzahl()
Gibt die maximal erlaubte Anzahl von Objekten in der Menge zurück.- Returns:
- die maximale Objektanzahl.
-
getSystemObjekt
public SystemObjekt getSystemObjekt()
Gibt das Systemobjekt zurück, an dem die Menge hängt.- Returns:
- das Systemobjekt, an dem die Menge hängt.
-
add
public boolean add(E e)
- Specified by:
addin interfacejava.util.Collection<E extends SystemObjekt>- Overrides:
addin classjava.util.AbstractCollection<E extends SystemObjekt>- Throws:
java.lang.IllegalStateException- wenn die maximal erlaubte Anzahl von Objekten in dieser Menge bereits erreicht ist.- See Also:
getMaxAnzahl()
-
remove
public boolean remove(java.lang.Object o)
- Specified by:
removein interfacejava.util.Collection<E extends SystemObjekt>- Overrides:
removein classjava.util.AbstractCollection<E extends SystemObjekt>- Throws:
java.lang.IllegalStateException- wenn die minimal erlaubte Anzahl von Objekten in dieser Menge bereits erreicht ist.- See Also:
getMinAnzahl()
-
removeAndInvalidate
public boolean removeAndInvalidate(E o)
Entfernt ein Objekt aus der Menge und invalidert das Objekt anschließend. Kann das Objekt aus der Menge nicht entfernt werden, wird es auch nicht invalidiert.- Parameters:
o- das zu entfernende und zu invalidierende Objekt.- Returns:
true, wenn das Objekt aus der Menge entfernt wurde und invalidiert ist. Sollte eines von beiden schiefgehen, wirdfalsezurückgegeben.
-
iterator
public java.util.Iterator<E> iterator()
- Specified by:
iteratorin interfacejava.util.Collection<E extends SystemObjekt>- Specified by:
iteratorin interfacejava.lang.Iterable<E extends SystemObjekt>- Specified by:
iteratorin classjava.util.AbstractCollection<E extends SystemObjekt>
-
size
public int size()
- Specified by:
sizein interfacejava.util.Collection<E extends SystemObjekt>- Specified by:
sizein classjava.util.AbstractCollection<E extends SystemObjekt>
-
cleanUp
public void cleanUp() throws de.bsvrz.sys.funclib.dynobj.DynObjektExceptionEntfernt alle invalidierten Objekte aus der Menge.- Throws:
de.bsvrz.sys.funclib.dynobj.DynObjektException- wenn nicht alle invalidierten Objekte aus der Menge erfolgreich entfernt werden konnten.
-
addMengenListener
public void addMengenListener(MengenListener l)
Registriert einen Listener für Änderungen an dieser Menge.- Parameters:
l- ein Listener.
-
removeMengenListener
public void removeMengenListener(MengenListener l)
Deregistriert einen Listener für Änderungen an dieser Menge.- Parameters:
l- ein Listener.
-
fireMengeAktualisiert
protected void fireMengeAktualisiert(java.util.Collection<E> hinzugefuegt, java.util.Collection<E> entfernt)
Informiert die angemeldeten Listener über eine Änderung an dieser Menge.- Parameters:
hinzugefuegt- die Menge der hinzugefügten Objekte.entfernt- die Menge der entfernten Objekte.
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.util.AbstractCollection<E extends SystemObjekt>
-
getId
public long getId()
Description copied from interface:SystemObjektGibt die ID des Systemobjekts zurück.- Specified by:
getIdin interfaceSystemObjekt- Returns:
- Die ID
- See Also:
SystemObject.getId()
-
getName
public java.lang.String getName()
Description copied from interface:SystemObjektGibt den Namen des Systemobjekts zurück.- Specified by:
getNamein interfaceSystemObjekt- Returns:
- Der Systemobjektname
- See Also:
SystemObject.getName()
-
getPid
public java.lang.String getPid()
Description copied from interface:SystemObjektGibt die PID des Systemobjekts zurück.- Specified by:
getPidin interfaceSystemObjekt- Returns:
- Die PID als String
- See Also:
SystemObject.getPid()
-
getSystemObject
public de.bsvrz.dav.daf.main.config.SystemObject getSystemObject()
Description copied from interface:SystemObjektGibt das gekapselte Systemobjekt des Datenverteilers zurück.- Specified by:
getSystemObjectin interfaceSystemObjekt- Returns:
- Das Datenverteilersystemobjekt
- See Also:
SystemObject.getId()
-
getTyp
public SystemObjektTyp getTyp()
Wird nicht unterstützt und wirft immer eineUnsupportedOperationException.- Specified by:
getTypin interfaceSystemObjekt- Returns:
- den Typ
-
getKonfigurationsBereich
public SystemObjektBereich getKonfigurationsBereich()
Wird nicht unterstützt und wirft immer eineUnsupportedOperationException.- Specified by:
getKonfigurationsBereichin interfaceSystemObjekt- Returns:
- der Konfigurationsbereich des Systemobjekts.
-
-