@Retention(value=RUNTIME) @Target(value=TYPE) public @interface InvocationHandlers
InvocationHandler deve ser
utilizada na criação de um proxy para a classe anotada.ProxyUtils.createInvocationHandler(Object)| Modifier and Type | Required Element and Description |
|---|---|
Class<? extends InvocationHandler>[] |
value
Obtém a cadeia de
InvocationHandler que deve ser utilizada na
criação do proxy. |
public abstract Class<? extends InvocationHandler>[] value
InvocationHandler que deve ser utilizada na
criação do proxy.
As implementações de InvocationHandler apontadas devem ter um
construtor que receba como parâmetro um Object e outro
InvocationHandler, pois a cadeia é montada da seguinte forma:
Invoker instanciado
recebendo o objeto como parâmetro.@InvocationHandlers(
HandlerA.class, HandlerB.class)}, o código:
Object c = new C();
InvocationHandler handler = ProxyUtils.createInvocationHandler(c);
equivale a
Object c = new C();
InvocationHandler handler = new HandlerDelegator(c);
handler = new HandlerB(c, handler);
handler = new HandlerA(c, handler);
InvocationHandler que deve ser utilizada
na criação do proxy.Copyright © 2020. All rights reserved.