Java Dynamic Proxy - Cómo referencia clase concreta
Tengo una pregunta relacionada con proxies dinámicos en java.
Supongo que tengo una interfaz llamadaFoo
con un métodoexecute
y claseFooImpl implements Foo
.
Cuando creo un proxy paraFoo
y tengo algo como:
Foo f = (Foo) Proxy.newProxyInstance(Foo.class.getClassLoader(),
new Class[] { Foo.class },
handler);
Suponga que mi controlador de invocación se ve así:
public class FooHandler implements InvocationHandler {
public Object invoke(Object proxy, Method method, Object[] args) {
...
}
}
Si mi código de invocación se parece a
Foo proxyFoo = (Foo) Proxy.newInstance(Foo.getClass().getClassLoader(),
new Class[] { Foo.class },
new FooHandler());
proxyFoo.execute();
Si el proxy puede interceptar la llamada mencionadaexecute
desde elFoo
interfaz, ¿dónde funciona elFooImpl
¿ven a jugar? Tal vez estoy mirando proxies dinámicos de manera incorrecta. Lo que quiero es poder atrapar elexecute
llamada de una implementación concreta deFoo
, comoFooImpl
. ¿Se puede hacer esto
Muchas gracia