|
Elexis API documentationVersion 2.1.6 as of December 11 2011 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objecteaustria.utensil.Beobachterverwaltung<T>
public class Beobachterverwaltung<T>
Stellt eine simple Verwaltung von Beobachtern zur Verfügung.
Sei Bla
die Klasse, die beobachtet werden kann, und sei
Blabeobachter
die Beobachterschnittstelle, die die Beobachter
implementieren können, dann kann ein Beobachter wie folgt mit Hilfe dieser
Klasse implementiert werden.
class Bla { BeobachterverwalterHinweis: Werden Beobachter als schwache Referenzen (beobachter = new Beobachterverwalter (); ... public void beobachterRegistrieren(Blabeobachter b) { beobachter.hinzu(b); // alternativ, um als starke Referenz einzufügen // beobachter.hinzuStark(b); } public void beobachterDeregistrieren(Blabeobachter b) { beobachter.weg(b); } ... // Der Aufruf einer Beobachterfunktion funktioniert so public void fun() { ... for (Blabeobachter b : beobachter) { b.funAufgerufen(); } } }
WeakReference
) verwaltet, dann kommen als Beobachter
nur Objekte in Frage, die zumindest von einer anderen Stelle aus hart
referenziert werden.
Besitzt ausschließlich die Beobachterverwaltung die einzige (schwache)
Referenz auf den Beobachter, so wird der Beobachter bei der nächsten
Müllsammlung entfernt und keine Beobachtungen mehr weitergeleitet. Das
passiert genau dann, wenn der Beobachter als anonyme innere Klasse
ausgeführt ist.
Constructor Summary | |
---|---|
Beobachterverwaltung()
|
Method Summary | |
---|---|
void |
hinzu(T b)
Fügt einen neuen Beobachter der Liste der Beobachter als schwache Referenz hinzu. |
void |
hinzuStark(T b)
Fügt einen neuen Beobachter der Liste der Beobachter als starke Referenz hinzu. |
java.util.Iterator<T> |
iterator()
Iteriert über alle aktiven Beobachter. |
void |
weg(T b)
Löscht einen Beobachter aus der Liste der Beobachter. |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public Beobachterverwaltung()
Method Detail |
---|
public void hinzu(T b)
b
- neuer Beobachterpublic void hinzuStark(T b)
b
- neuer Beobachterpublic void weg(T b)
b
- alter Beobachterpublic java.util.Iterator<T> iterator()
iterator
in interface java.lang.Iterable<T>
|
Elexis API documentationVersion 2.1.6 as of December 11 2011 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |