|
||||||||||
| 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 InvocationinvokeNext in class InvocationBaseThrowable
public Object invokeTarget()
throws Throwable
invokeTarget in interface InvocationinvokeTarget in class InvocationBaseThrowable
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 InvocationresolveAnnotation in class InvocationBasepublic <T extends Annotation> T resolveTypedAnnotation(Class<T> annotation)
Invocation
resolveTypedAnnotation in interface InvocationresolveTypedAnnotation in class InvocationBasepublic Object resolveAnnotation(Class<? extends Annotation>[] annotations)
resolveAnnotation in interface InvocationresolveAnnotation in class InvocationBasepublic <T extends Annotation> T resolveTypedAnnotation(Class<T>[] annotations)
Invocation
resolveTypedAnnotation in interface InvocationresolveTypedAnnotation in class InvocationBase
public Object getMetaData(Object group,
Object attr)
getMetaData in interface InvocationgetMetaData in class InvocationBasepublic Invocation getWrapper(Interceptor[] newchain)
getWrapper in interface Invocationnewchain - chain of interceptors to be inserted on invocation
public Invocation copy()
copy in interface Invocationpublic 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 InvocationgetAdvisor in class InvocationBase
public void writeExternal(ObjectOutput out)
throws IOException
writeExternal in interface ExternalizableIOException
public void readExternal(ObjectInput in)
throws IOException,
ClassNotFoundException
readExternal in interface ExternalizableIOException
ClassNotFoundException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||