public class InvocationHandler
extends java.lang.Object
implements java.lang.reflect.InvocationHandler
Constructor and Description |
---|
InvocationHandler(long tstate,
long ltarget,
Jep jep,
boolean functionalInterface)
Creates a new
InvocationHandler instance. |
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
invoke(java.lang.Object proxy,
java.lang.reflect.Method method,
java.lang.Object[] args)
Processes a method invocation on a proxy instance and returns the result.
|
public InvocationHandler(long tstate, long ltarget, Jep jep, boolean functionalInterface) throws JepException
InvocationHandler
instance.tstate
- the thread state idltarget
- the python object's idjep
- the jep interpreterfunctionalInterface
- whether the target is a python callable that should be invoked
directlyJepException
- if an error occurspublic java.lang.Object invoke(java.lang.Object proxy, java.lang.reflect.Method method, java.lang.Object[] args) throws java.lang.Throwable
invoke
in interface java.lang.reflect.InvocationHandler
proxy
- the proxy instance that the method was invoked onmethod
- the Method instance corresponding to the interface method
invoked on the proxy instance. The declaring class of the
Method object will be the interface that the method was
declared in, which may be a superinterface of the proxy
interface that the proxy class inherits the method through.args
- an array of objects containing the values of the arguments
passed in the method invocation on the proxy instance, or null
if interface method takes no arguments. Arguments of primitive
types are wrapped in instances of the appropriate primitive
wrapper class, such as java.lang.Integer or java.lang.Boolean.java.lang.Throwable
- the exception to throw from the method invocation on the
proxy instance. The exception's type must be assignable
either to any of the exception types declared in the
throws clause of the interface method or to the unchecked
exception types java.lang.RuntimeException or
java.lang.Error. If a checked exception is thrown by this
method that is not assignable to any of the exception
types declared in the throws clause of the interface
method, then an UndeclaredThrowableException containing
the exception that was thrown by this method will be
thrown by the method invocation on the proxy instance.