public class ProxyUtils
extends java.lang.Object
| Constructor and Description |
|---|
ProxyUtils() |
| Modifier and Type | Method and Description |
|---|---|
static java.lang.reflect.InvocationHandler |
createInvocationHandler(java.lang.Object obj)
Caso a classe tenha sido anotada com
InvocationHandlers, será criado o
InvocationHandler indicado no valor da anotação, sendo passado o
objeto como parâmetro do construtor. |
static <T> T |
newProxyInstance(java.lang.Object obj,
java.lang.reflect.InvocationHandler handler)
Cria um proxy que repassa todas as chamadas aos métodos de um objeto, obj,
para o
handler. |
static <T> T |
newRemoteProxyInstance(java.lang.Object obj,
java.lang.reflect.InvocationHandler handler,
int port)
Cria e exporta um proxy remoto que implementa todas as interfaces remotas
do objeto, obj.
|
static void |
unexportRemoteProxy(java.lang.Object proxy)
Remove o proxy remoto, proxy, da execução do RMI.
O proxy já não poderá mais aceitar chamadas RMI. |
public static <T> T newProxyInstance(java.lang.Object obj,
java.lang.reflect.InvocationHandler handler)
handler. O proxy irá implementar todas as
interfaces implementadas pelo objeto, obj.obj - Objeto que será substituído pelo proxy.handler - Responsável por tratar as chamadas aos métodos do objeto.public static <T> T newRemoteProxyInstance(java.lang.Object obj,
java.lang.reflect.InvocationHandler handler,
int port)
throws java.rmi.RemoteException
obj - Objeto que será substituído pelo proxy. Serializable ou estender
UnicastRemoteObject. Precisa apenas implementar alguma
interface que estenda Remote.handler - Responsável por tratar as chamadas aos métodos do objeto.port - Porta na qual o proxy será exportado.java.rmi.RemoteExceptionpublic static void unexportRemoteProxy(java.lang.Object proxy)
throws java.rmi.NoSuchObjectException
proxy - Proxy que não poderá mais receber chamadas RMI.java.rmi.NoSuchObjectException - Se o objeto remoto não estiver exportado.public static java.lang.reflect.InvocationHandler createInvocationHandler(java.lang.Object obj)
throws java.lang.InstantiationException,
java.lang.IllegalAccessException,
java.lang.SecurityException,
java.lang.NoSuchMethodException,
java.lang.IllegalArgumentException,
java.lang.reflect.InvocationTargetException
InvocationHandlers, será criado o
InvocationHandler indicado no valor da anotação, sendo passado o
objeto como parâmetro do construtor. Caso contrário, será retornado um
Invoker que irá invocar os métodos do objeto fazendo
method.invoke(obj, args);.obj - Objeto para o qual será criado o InvocationHandler.InvocationHandler para tratar as chamadas aos métodos de
objetos de um determinado tipo.java.lang.InstantiationException - caso não tenha sido possível instanciar o
InvocationHandler definido na anotação.java.lang.IllegalAccessException - caso não se tenha acesos ao construtor
padrão do InvocationHandler definido na anotação.java.lang.NoSuchMethodException - caso o InvocationHandler não tenha um
construtor que receba um objeto como parâmetro.java.lang.SecurityException - caso ocorra um erro de segurança ao tentar
executar o construtor do InvocationHandler.java.lang.reflect.InvocationTargetException - caso ocorra um erro ao invocar o
construtor do InvocationHandler passando o objeto como
argumento.java.lang.IllegalArgumentException - caso ocorra um erro ao invocar o
construtor do InvocationHandler passando o objeto como
argumento.InvocationHandlersCopyright © 2016. All Rights Reserved.