Package org.apache.cxf.service.invoker
Class AbstractInvoker
- java.lang.Object
-
- org.apache.cxf.service.invoker.AbstractInvoker
-
- All Implemented Interfaces:
Invoker
- Direct Known Subclasses:
BeanInvoker
,FactoryInvoker
public abstract class AbstractInvoker extends Object implements Invoker
Abstract implementation of Invoker.
-
-
Constructor Summary
Constructors Constructor Description AbstractInvoker()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected Method
adjustMethodAndParams(Method m, Exchange ex, List<Object> params, Class<?> serviceObjectClass)
protected void
checkSuspendedInvocation(Exchange exchange, Object serviceObject, Method m, List<Object> params, Throwable t)
protected Fault
createFault(Throwable ex, Method m, List<Object> params, boolean checked)
static Method
getMostSpecificMethod(Method method, 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 Object
getServiceObject(Exchange context)
Creates and returns a service object depending on the scope.Object[]
insertExchange(Method method, Object[] params, Exchange context)
Object
invoke(Exchange exchange, Object o)
protected Object
invoke(Exchange exchange, Object serviceObject, Method m, List<Object> params)
static boolean
isJdkDynamicProxy(Object object)
Return whether the given object is a J2SE dynamic proxy.protected Object
performInvocation(Exchange exchange, Object serviceObject, Method m, Object[] paramArray)
void
releaseServiceObject(Exchange context, Object obj)
Called when the invoker is done with the object.
-
-
-
Method Detail
-
adjustMethodAndParams
protected Method adjustMethodAndParams(Method m, Exchange ex, List<Object> params, Class<?> serviceObjectClass)
-
invoke
protected Object invoke(Exchange exchange, Object serviceObject, Method m, List<Object> params)
-
checkSuspendedInvocation
protected void checkSuspendedInvocation(Exchange exchange, Object serviceObject, Method m, List<Object> params, Throwable t)
-
createFault
protected Fault createFault(Throwable ex, Method m, List<Object> params, boolean checked)
-
performInvocation
protected Object performInvocation(Exchange exchange, Object serviceObject, Method m, Object[] paramArray) throws Exception
- Throws:
Exception
-
getServiceObject
public abstract Object getServiceObject(Exchange context)
Creates and returns a service object depending on the scope.
-
releaseServiceObject
public void releaseServiceObject(Exchange context, Object obj)
Called when the invoker is done with the object. Default implementation does nothing.- Parameters:
context
-obj
-
-
isJdkDynamicProxy
public static boolean isJdkDynamicProxy(Object object)
Return whether the given object is a J2SE dynamic proxy.- Parameters:
object
- the object to check- See Also:
Proxy.isProxyClass(java.lang.Class<?>)
-
getMostSpecificMethod
public static Method getMostSpecificMethod(Method method, 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. E.g. the method may be IFoo.bar() and the target class may be DefaultFoo. In this case, the method may be DefaultFoo.bar(). This enables attributes on that method to be found.- Parameters:
method
- method to be invoked, which may come from an interfacetargetClass
- target class for the current invocation. May benull
or may not even implement the method.- Returns:
- the more specific method, or the original method if the targetClass doesn't specialize it or implement it or is null
-
-