Java Dynamic Proxy - Como referência a classe concreta
Eu tenho uma pergunta relacionada a proxies dinâmicos em java.
Suponha que eu tenha uma interface chamadaFoo
com um métodoexecute
e classeFooImpl implements Foo
.
Quando eu crio um proxy paraFoo
e eu tenho algo como:
Foo f = (Foo) Proxy.newProxyInstance(Foo.class.getClassLoader(),
new Class[] { Foo.class },
handler);
Suponha que meu manipulador de invocação se pareça com:
public class FooHandler implements InvocationHandler {
public Object invoke(Object proxy, Method method, Object[] args) {
...
}
}
Se meu código de chamada parecer algo como
Foo proxyFoo = (Foo) Proxy.newInstance(Foo.getClass().getClassLoader(),
new Class[] { Foo.class },
new FooHandler());
proxyFoo.execute();
Se o proxy puder interceptar a chamada mencionada acimaexecute
deFoo
interface, onde é que oFooImpl
entre no jogo? Talvez eu esteja olhando proxies dinâmicos da maneira errada. O que eu quero é ser capaz de pegar oexecute
chamada de uma implementação concreta deFoo
, tal comoFooImpl
. Isso pode ser feito?
Muito Obrigado