|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.jboss.aop.joinpoint.InvocationBase
org.jboss.aop.joinpoint.MethodInvocation
public class MethodInvocation
Field Summary | |
---|---|
protected Method |
advisedMethod
|
protected Object[] |
arguments
arguments of the method call expressed as an array of objects |
protected MarshalledObject |
marshalledArguments
|
protected long |
methodHash
|
protected Method |
unadvisedMethod
|
Fields inherited from class org.jboss.aop.joinpoint.InvocationBase |
---|
advisor, currentInterceptor, instanceResolver, interceptors, metadata, responseContextInfo, targetObject |
Constructor Summary | |
---|---|
|
MethodInvocation()
|
protected |
MethodInvocation(Interceptor[] interceptors)
|
|
MethodInvocation(Interceptor[] interceptors,
long methodHash,
Method advisedMethod,
Method unadvisedMethod,
Advisor advisor)
|
|
MethodInvocation(MethodInfo info,
Interceptor[] interceptors)
|
Method Summary | ||
---|---|---|
Invocation |
copy()
Copies complete state of Invocation object. |
|
Method |
getActualMethod()
|
|
Advisor |
getAdvisor()
|
|
Object[] |
getArguments()
Returns a non-null array containing all method arguments. |
|
Object |
getMetaData(Object group,
Object attr)
This method resolves metadata based on the context of the invocation. |
|
Method |
getMethod()
|
|
long |
getMethodHash()
|
|
Invocation |
getWrapper(Interceptor[] newchain)
Returns a wrapper invocation object that can insert a new chain of interceptors at runtime to the invocation flow. |
|
static Throwable |
handleErrors(Object target,
Method method,
Object[] arguments,
Throwable t)
Handle invocation errors |
|
Object |
invokeNext()
Invoke on the next interceptor in the chain. |
|
Object |
invokeTarget()
Invokes the target joinpoint for this invocation skipping any subsequent interceptors in the chain. |
|
void |
readExternal(ObjectInput in)
|
|
Object |
resolveAnnotation(Class<? extends Annotation> annotation)
This method resolves an annotation based on the context of the invocation. |
|
Object |
resolveAnnotation(Class<? extends Annotation>[] annotations)
This method resolves an annotation based on the context of the invocation. |
|
|
resolveTypedAnnotation(Class<T> annotation)
Abstraction for resolving an annotation so that it can be overriden from the Method, Constructor, Field, etc. |
|
|
resolveTypedAnnotation(Class<T>[] annotations)
Abstraction for resolving an annotation so that it can be overriden from the Method, Constructor, Field, etc. |
|
void |
setArguments(Object[] arguments)
Replaces method argument values by the ones contained in
arguments . |
|
String |
toString()
|
|
void |
writeExternal(ObjectOutput out)
|
Methods inherited from class org.jboss.aop.joinpoint.InvocationBase |
---|
addResponseAttachment, getCurrentInterceptor, getInstanceResolver, getInterceptors, getMetaData, getResponseAttachment, getResponseContextInfo, getTargetObject, invokeNext, resolveClassAnnotation, resolveClassMetaData, resolveTypedClassAnnotation, setAdvisor, setInstanceResolver, setMetaData, setResponseContextInfo, setTargetObject |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected Object[] arguments
protected long methodHash
protected MarshalledObject marshalledArguments
protected Method advisedMethod
protected Method unadvisedMethod
Constructor Detail |
---|
public MethodInvocation(MethodInfo info, Interceptor[] interceptors)
public MethodInvocation(Interceptor[] interceptors, long methodHash, Method advisedMethod, Method unadvisedMethod, Advisor advisor)
protected MethodInvocation(Interceptor[] interceptors)
public MethodInvocation()
Method Detail |
---|
public String toString()
toString
in class Object
public Object invokeNext() throws Throwable
invokeNext
in interface Invocation
invokeNext
in class InvocationBase
Throwable
public Object invokeTarget() throws Throwable
invokeTarget
in interface Invocation
invokeTarget
in class InvocationBase
Throwable
public static Throwable handleErrors(Object target, Method method, Object[] arguments, Throwable t) throws Throwable
target
- the targetmethod
- the methodarguments
- the argumentst
- the error
Throwable
- the throwablepublic Object resolveAnnotation(Class<? extends Annotation> annotation)
resolveAnnotation
in interface Invocation
resolveAnnotation
in class InvocationBase
public <T extends Annotation> T resolveTypedAnnotation(Class<T> annotation)
Invocation
resolveTypedAnnotation
in interface Invocation
resolveTypedAnnotation
in class InvocationBase
public Object resolveAnnotation(Class<? extends Annotation>[] annotations)
resolveAnnotation
in interface Invocation
resolveAnnotation
in class InvocationBase
public <T extends Annotation> T resolveTypedAnnotation(Class<T>[] annotations)
Invocation
resolveTypedAnnotation
in interface Invocation
resolveTypedAnnotation
in class InvocationBase
public Object getMetaData(Object group, Object attr)
getMetaData
in interface Invocation
getMetaData
in class InvocationBase
public Invocation getWrapper(Interceptor[] newchain)
getWrapper
in interface Invocation
newchain
- chain of interceptors to be inserted on invocation
public Invocation copy()
copy
in interface Invocation
public Object[] getArguments()
The returned array can be changed by the advice or interceptor accordingly. All
changes are reflected on joinpoint execution, and are noticed as well by
other advices and interceptors that are executed after the current one.
However, changes to this array are limited to the scope of current advice
execution, and must be performed before execution of invokeNext()
,
InvocationBase.invokeNext(Interceptor[])
, or invokeTarget()
method.
Otherwise, inconsistency on joinpoint argument values may be noticed.
public void setArguments(Object[] arguments)
arguments
.
Advices and interceptors must be aware that, for performance reasons,
this array does not get copied across; its reference is directly used instead.
Hence, changes to arguments
array after this method being called
are forbidden. Otherwise, inconsistency on joinpoint argument values may be
noticed.
arguments
- a non-null array containing the new values of method arguments.
The size of this array must be the same as the one of
getArguments()
, as well as the element types.public Method getMethod()
public Method getActualMethod()
public long getMethodHash()
public Advisor getAdvisor()
getAdvisor
in interface Invocation
getAdvisor
in class InvocationBase
public void writeExternal(ObjectOutput out) throws IOException
writeExternal
in interface Externalizable
IOException
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
readExternal
in interface Externalizable
IOException
ClassNotFoundException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |