Ich möchte einem Objekt, das zur Laufzeit generiert wird, einige Funktionen hinzufügen. Allerdings ist die Schnittstelle für dieses Objekt sehr groß (und nicht unter meiner Kontrolle). Ich möchte das Objekt in meine eigene Klasse einbinden, die die gewünschte Funktionalität hinzufügt und die Standardschnittstellenfunktionalität an das ursprüngliche Objekt delegiert - gibt es eine Möglichkeit, dies in Java zu tun, ohne für jeden eine 1-zeilige Kopie-Einfüge-Delegator-Methode zu erstellen Methode in der Schnittstelle?Automatisierte Delegierung in Java
Was ich will, vermeiden:
class MyFoo implements Foo {
Foo wrapped;
void myMethod() { ... }
void interfaceMethod1() wrapped.interfaceMethod1();
int interfaceMethod2() wrapped.interfaceMethod2();
// etc etc ...
}
Was ich würde es vorziehen:
class MyFoo implements Foo {
Foo wrapped;
void myMethod() { ... }
// automatically delegate undefined methods to wrapped object
}
+1, genau das, was ich verwenden würde. Siehe meine Antwort [hier] (http://stackoverflow.com/a/12486028/646634) für einige Codebeispiele. – Brian
Danke, das ist, was ich gesucht habe. Brian, deine Beispiele waren auch sehr nützlich! –
Ist es möglich, Kompilierzeit-Proxies zu haben? – smac89