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 boolean
add(E e)
void
addMengenListener(MengenListener l)
Registriert einen Listener für Änderungen an dieser Menge.void
cleanUp()
Entfernt alle invalidierten Objekte aus der Menge.protected void
fireMengeAktualisiert(java.util.Collection<E> hinzugefuegt, java.util.Collection<E> entfernt)
Informiert die angemeldeten Listener über eine Änderung an dieser Menge.long
getId()
Gibt die ID des Systemobjekts zurück.SystemObjektBereich
getKonfigurationsBereich()
Wird nicht unterstützt und wirft immer eineUnsupportedOperationException
.int
getMaxAnzahl()
Gibt die maximal erlaubte Anzahl von Objekten in der Menge zurück.int
getMinAnzahl()
Gibt die minimal erlaubte Anzahl von Objekten in der Menge zurück.de.bsvrz.dav.daf.main.config.MutableSet
getMutableSet()
Gibt die gekapselte Menge zurück.java.lang.String
getName()
Gibt den Namen des Systemobjekts zurück.java.lang.String
getPid()
Gibt die PID des Systemobjekts zurück.de.bsvrz.dav.daf.main.config.SystemObject
getSystemObject()
Gibt das gekapselte Systemobjekt des Datenverteilers zurück.SystemObjekt
getSystemObjekt()
Gibt das Systemobjekt zurück, an dem die Menge hängt.SystemObjektTyp
getTyp()
Wird nicht unterstützt und wirft immer eineUnsupportedOperationException
.java.util.Iterator<E>
iterator()
boolean
remove(java.lang.Object o)
boolean
removeAndInvalidate(E o)
Entfernt ein Objekt aus der Menge und invalidert das Objekt anschließend.void
removeMengenListener(MengenListener l)
Deregistriert einen Listener für Änderungen an dieser Menge.int
size()
java.lang.String
toString()
-
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:
add
in interfacejava.util.Collection<E extends SystemObjekt>
- Overrides:
add
in 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:
remove
in interfacejava.util.Collection<E extends SystemObjekt>
- Overrides:
remove
in 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, wirdfalse
zurückgegeben.
-
iterator
public java.util.Iterator<E> iterator()
- Specified by:
iterator
in interfacejava.util.Collection<E extends SystemObjekt>
- Specified by:
iterator
in interfacejava.lang.Iterable<E extends SystemObjekt>
- Specified by:
iterator
in classjava.util.AbstractCollection<E extends SystemObjekt>
-
size
public int size()
- Specified by:
size
in interfacejava.util.Collection<E extends SystemObjekt>
- Specified by:
size
in classjava.util.AbstractCollection<E extends SystemObjekt>
-
cleanUp
public void cleanUp() throws de.bsvrz.sys.funclib.dynobj.DynObjektException
Entfernt 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:
toString
in classjava.util.AbstractCollection<E extends SystemObjekt>
-
getId
public long getId()
Description copied from interface:SystemObjekt
Gibt die ID des Systemobjekts zurück.- Specified by:
getId
in interfaceSystemObjekt
- Returns:
- Die ID
- See Also:
SystemObject.getId()
-
getName
public java.lang.String getName()
Description copied from interface:SystemObjekt
Gibt den Namen des Systemobjekts zurück.- Specified by:
getName
in interfaceSystemObjekt
- Returns:
- Der Systemobjektname
- See Also:
SystemObject.getName()
-
getPid
public java.lang.String getPid()
Description copied from interface:SystemObjekt
Gibt die PID des Systemobjekts zurück.- Specified by:
getPid
in interfaceSystemObjekt
- Returns:
- Die PID als String
- See Also:
SystemObject.getPid()
-
getSystemObject
public de.bsvrz.dav.daf.main.config.SystemObject getSystemObject()
Description copied from interface:SystemObjekt
Gibt das gekapselte Systemobjekt des Datenverteilers zurück.- Specified by:
getSystemObject
in interfaceSystemObjekt
- Returns:
- Das Datenverteilersystemobjekt
- See Also:
SystemObject.getId()
-
getTyp
public SystemObjektTyp getTyp()
Wird nicht unterstützt und wirft immer eineUnsupportedOperationException
.- Specified by:
getTyp
in interfaceSystemObjekt
- Returns:
- den Typ
-
getKonfigurationsBereich
public SystemObjektBereich getKonfigurationsBereich()
Wird nicht unterstützt und wirft immer eineUnsupportedOperationException
.- Specified by:
getKonfigurationsBereich
in interfaceSystemObjekt
- Returns:
- der Konfigurationsbereich des Systemobjekts.
-
-