public abstract class AbstractInvoker extends java.lang.Object implements Invoker
| Constructor and Description |
|---|
AbstractInvoker() |
| Modifier and Type | Method and Description |
|---|---|
protected java.lang.reflect.Method |
adjustMethodAndParams(java.lang.reflect.Method m,
Exchange ex,
java.util.List<java.lang.Object> params,
java.lang.Class<?> serviceObjectClass) |
protected void |
checkSuspendedInvocation(Exchange exchange,
java.lang.Object serviceObject,
java.lang.reflect.Method m,
java.util.List<java.lang.Object> params,
java.lang.Throwable t) |
protected Fault |
createFault(java.lang.Throwable ex,
java.lang.reflect.Method m,
java.util.List<java.lang.Object> params,
boolean checked) |
static java.lang.reflect.Method |
getMostSpecificMethod(java.lang.reflect.Method method,
java.lang.Class<?> targetClass)
Given a method, which may come from an interface, and a targetClass used
in the current AOP invocation, find the most specific method if there is
one.
|
abstract java.lang.Object |
getServiceObject(Exchange context)
Creates and returns a service object depending on the scope.
|
java.lang.Object[] |
insertExchange(java.lang.reflect.Method method,
java.lang.Object[] params,
Exchange context) |
java.lang.Object |
invoke(Exchange exchange,
java.lang.Object o) |
protected java.lang.Object |
invoke(Exchange exchange,
java.lang.Object serviceObject,
java.lang.reflect.Method m,
java.util.List<java.lang.Object> params) |
static boolean |
isJdkDynamicProxy(java.lang.Object object)
Return whether the given object is a J2SE dynamic proxy.
|
protected java.lang.Object |
performInvocation(Exchange exchange,
java.lang.Object serviceObject,
java.lang.reflect.Method m,
java.lang.Object[] paramArray) |
void |
releaseServiceObject(Exchange context,
java.lang.Object obj)
Called when the invoker is done with the object.
|
public java.lang.Object invoke(Exchange exchange, java.lang.Object o)
protected java.lang.reflect.Method adjustMethodAndParams(java.lang.reflect.Method m,
Exchange ex,
java.util.List<java.lang.Object> params,
java.lang.Class<?> serviceObjectClass)
protected java.lang.Object invoke(Exchange exchange, java.lang.Object serviceObject, java.lang.reflect.Method m, java.util.List<java.lang.Object> params)
protected void checkSuspendedInvocation(Exchange exchange, java.lang.Object serviceObject, java.lang.reflect.Method m, java.util.List<java.lang.Object> params, java.lang.Throwable t)
protected Fault createFault(java.lang.Throwable ex, java.lang.reflect.Method m, java.util.List<java.lang.Object> params, boolean checked)
protected java.lang.Object performInvocation(Exchange exchange, java.lang.Object serviceObject, java.lang.reflect.Method m, java.lang.Object[] paramArray) throws java.lang.Exception
java.lang.Exceptionpublic java.lang.Object[] insertExchange(java.lang.reflect.Method method,
java.lang.Object[] params,
Exchange context)
public abstract java.lang.Object getServiceObject(Exchange context)
public void releaseServiceObject(Exchange context, java.lang.Object obj)
context - obj - public static boolean isJdkDynamicProxy(java.lang.Object object)
object - the object to checkProxy.isProxyClass(java.lang.Class<?>)public static java.lang.reflect.Method getMostSpecificMethod(java.lang.reflect.Method method,
java.lang.Class<?> targetClass)
method - method to be invoked, which may come from an interfacetargetClass - target class for the current invocation. May be
null or may not even implement the method.