P
Puste
Gast
Hallo allerseits.
Stehe vor folgendem Problem,
ich implementiere einen logging.Handler, an welchem sich Observer anmelden können müssen.
Jedoch weder logging.Handler, noch Observable bietet mir ein Interface, um die fehlende Mehrfachvererbung zu umgehen. Einfach ausgedrückt, zwei Mutterklassen, Handler und Observable, wie vereine ich diese.
Meine beiden Ansätze bisher:
Variante A:
Man implementiert die Methoden der Klasse Observable in der eigenen Handler Klasse.
Dummerweise scheitert es dann an:
Ich kann die eigene Handlerinstanz nicht an die Observer weiterreichen, weil sie nicht vom Typ Observable ist.
Variante B:
Ich erzeuge ein Feld Observable in meiner Handler Klasse auf welches ich dann von außen zugreifen kann.
Auch hier scheitert es dann an der setChanged() Methode des Observers, ... protected, ich kann von meiner Handler Klasse nicht auf drauf zugreifen.
Eine eigene implementation des Observer Patterns würde ich gerne erstmal umgehen, existieren zu solch einer Design-Problematik schon Lösungsansätze? Irgendwie habe ich bisher zu wenig mit den java eigenen Observern gearbeitet.
Stehe vor folgendem Problem,
ich implementiere einen logging.Handler, an welchem sich Observer anmelden können müssen.
Jedoch weder logging.Handler, noch Observable bietet mir ein Interface, um die fehlende Mehrfachvererbung zu umgehen. Einfach ausgedrückt, zwei Mutterklassen, Handler und Observable, wie vereine ich diese.
Meine beiden Ansätze bisher:
Variante A:
Man implementiert die Methoden der Klasse Observable in der eigenen Handler Klasse.
Dummerweise scheitert es dann an:
Code:
void notifyObservers(Object obj) {
for (Observer o : observers) {
o.update(this, obj);
}
}
Variante B:
Ich erzeuge ein Feld Observable in meiner Handler Klasse auf welches ich dann von außen zugreifen kann.
Auch hier scheitert es dann an der setChanged() Methode des Observers, ... protected, ich kann von meiner Handler Klasse nicht auf drauf zugreifen.
Eine eigene implementation des Observer Patterns würde ich gerne erstmal umgehen, existieren zu solch einer Design-Problematik schon Lösungsansätze? Irgendwie habe ich bisher zu wenig mit den java eigenen Observern gearbeitet.