|
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 {
Beobachterverwalter 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();
}
}
}
Hinweis: Werden Beobachter als schwache
Referenzen (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 | |||||||||