declare namespace java {
namespace rmi {
namespace server {
/**
* An implementation of the InvocationHandler
interface for
* use with Java Remote Method Invocation (Java RMI). This invocation
* handler can be used in conjunction with a dynamic proxy instance as a
* replacement for a pregenerated stub class.
*
Applications are not expected to use this class directly. A remote
* object exported to use a dynamic proxy with {@link UnicastRemoteObject}
* or {@link Activatable} has an instance of this class as that proxy's
* invocation handler.
* @author Ann Wollrath
* @since 1.5
*/
// @ts-ignore
class RemoteObjectInvocationHandler extends java.rmi.server.RemoteObject implements java.lang.reflect.InvocationHandler {
/**
* Creates a new RemoteObjectInvocationHandler
constructed
* with the specified RemoteRef
.
* @param ref the remote ref
* @throws NullPointerException if ref
is null
*/
// @ts-ignore
constructor(ref: java.rmi.server.RemoteRef)
/**
* Processes a method invocation made on the encapsulating
* proxy instance, proxy
, and returns the result.
*
RemoteObjectInvocationHandler
implements this method
* as follows:
*
If method
is one of the following methods, it
* is processed as described below:
*
true
* if the argument (args[0]
) is an instance of a dynamic
* proxy class and this invocation handler is equal to the invocation
* handler of that argument, and returns false
otherwise.
* Otherwise, a remote call is made as follows: *
proxy
is not an instance of the interface
* {@link Remote}, then an {@link IllegalArgumentException} is thrown.
* RemoteRef
, passing
* proxy
, method
, args
, and the
* method hash (defined in section 8.3 of the "Java Remote Method
* Invocation (RMI) Specification") for method
, and the
* result is returned.
* RemoteRef.invoke
and
* that exception is a checked exception that is not assignable to any
* exception in the throws
clause of the method
* implemented by the proxy
's class, then that exception
* is wrapped in an {@link UnexpectedException} and the wrapped
* exception is thrown. Otherwise, the exception thrown by
* invoke
is thrown by this method.
* The semantics of this method are unspecified if the
* arguments could not have been produced by an instance of some
* valid dynamic proxy class containing this invocation handler.
* @param proxy the proxy instance that the method was invoked on
* @param method the Method
instance corresponding to the
* interface method invoked on the proxy instance
* @param args an array of objects containing the values of the
* arguments passed in the method invocation on the proxy instance, or
* null
if the method takes no arguments
* @return the value to return from the method invocation on the proxy
* instance
* @throws Throwable the exception to throw from the method invocation
* on the proxy instance
*/
// @ts-ignore
public invoke(proxy: java.lang.Object | any, method: java.lang.reflect.Method, args: java.lang.Object[] | any[]): any
}
}
}
}