org.jboss.aop.joinpoint
Interface Invocation

All Known Implementing Classes:
ArrayElementInvocation, ArrayElementReadInvocation, ArrayElementWriteInvocation, BooleanArrayElementReadInvocation, BooleanArrayElementWriteInvocation, ByteArrayElementReadInvocation, ByteArrayElementWriteInvocation, CallerInvocation, CharArrayElementReadInvocation, CharArrayElementWriteInvocation, ConstructionInvocation, ConstructionInvocationWrapper, ConstructorCalledByConstructorInvocation, ConstructorCalledByConstructorInvocationWrapper, ConstructorCalledByMethodInvocation, ConstructorCalledByMethodInvocationWrapper, ConstructorInvocation, ConstructorInvocationWrapper, ContainerProxyMethodInvocation, DoubleArrayElementReadInvocation, DoubleArrayElementWriteInvocation, FieldInvocation, FieldReadInvocation, FieldReadInvocationWrapper, FieldWriteInvocation, FieldWriteInvocationWrapper, FloatArrayElementReadInvocation, FloatArrayElementWriteInvocation, IntArrayElementReadInvocation, IntArrayElementWriteInvocation, InvocationBase, LongArrayElementReadInvocation, LongArrayElementWriteInvocation, MethodCalledByConstructorInvocation, MethodCalledByConstructorInvocationWrapper, MethodCalledByMethodInvocation, MethodCalledByMethodInvocationWrapper, MethodInvocation, MethodInvocationWrapper, ObjectArrayElementReadInvocation, ObjectArrayElementWriteInvocation, ProxyMethodInvocation, ShortArrayElementReadInvocation, ShortArrayElementWriteInvocation

public interface Invocation

Comment

Version:
$Revision: 70849 $
Author:
Bill Burke

Method Summary
 void addResponseAttachment(Object key, Object val)
           
 Invocation copy()
          Copies complete state of Invocation object so that it could possibly be reused in a spawned thread.
 Advisor getAdvisor()
           
 Interceptor[] getInterceptors()
           
 SimpleMetaData getMetaData()
          Return all the contextual untyped data attached to this invocation
 Object getMetaData(Object group, Object attr)
          This method resolves untyped metadata based on the context of the invocation.
 Object getResponseAttachment(Object key)
           
 Map<Object,Object> getResponseContextInfo()
           
 Object getTargetObject()
           
 Invocation getWrapper(Interceptor[] newchain)
          Get a wrapper invocation object that can insert a new chain of interceptors at runtime to the invocation flow.
 Object invokeNext()
          Invoke on the next interceptor in the chain.
 Object invokeNext(Interceptor[] newInterceptors)
          Invoke on the next interceptor in the chain.
 Object invokeTarget()
          Invokes the target joinpoint for this invocation skipping any subsequent interceptors in the chain.
 Object resolveAnnotation(Class<? extends Annotation> annotation)
          Abstraction for resolving an annotation so that it can be overriden from the Method, Constructor, Field, etc.
 Object resolveAnnotation(Class<? extends Annotation>[] annotations)
          Abstraction for resolving an annotation so that it can be overriden from the Method, Constructor, Field, etc.
 Object resolveClassAnnotation(Class<? extends Annotation> annotation)
          Abstraction for resolving an annotation so that it can be overriden from the Class
 Object resolveClassMetaData(Object key, Object attr)
          Resolve class level untyped metadata based on a key and the attribute of the key
<T extends Annotation>
T
resolveTypedAnnotation(Class<T> annotation)
          Abstraction for resolving an annotation so that it can be overriden from the Method, Constructor, Field, etc.
<T extends Annotation>
T
resolveTypedAnnotation(Class<T>[] annotations)
          Abstraction for resolving an annotation so that it can be overriden from the Method, Constructor, Field, etc.
<T extends Annotation>
T
resolveTypedClassAnnotation(Class<T> annotation)
          Abstraction for resolving an annotation so that it can be overriden from the Class
 void setMetaData(SimpleMetaData data)
          Set all the contextual untyped data attached to this invocation
 void setResponseContextInfo(Map<Object,Object> responseContextInfo)
           
 void setTargetObject(Object targetObject)
           
 

Method Detail

getResponseContextInfo

Map<Object,Object> getResponseContextInfo()

setResponseContextInfo

void setResponseContextInfo(Map<Object,Object> responseContextInfo)

addResponseAttachment

void addResponseAttachment(Object key,
                           Object val)

getResponseAttachment

Object getResponseAttachment(Object key)

getMetaData

SimpleMetaData getMetaData()
Return all the contextual untyped data attached to this invocation


setMetaData

void setMetaData(SimpleMetaData data)
Set all the contextual untyped data attached to this invocation


resolveClassMetaData

Object resolveClassMetaData(Object key,
                            Object attr)
Resolve class level untyped metadata based on a key and the attribute of the key

Parameters:
key -
attr -
Returns:

resolveClassAnnotation

Object resolveClassAnnotation(Class<? extends Annotation> annotation)
Abstraction for resolving an annotation so that it can be overriden from the Class

Parameters:
annotation -
Returns:

resolveTypedClassAnnotation

<T extends Annotation> T resolveTypedClassAnnotation(Class<T> annotation)
Abstraction for resolving an annotation so that it can be overriden from the Class

Parameters:
annotation -
Returns:

resolveAnnotation

Object resolveAnnotation(Class<? extends Annotation> annotation)
Abstraction for resolving an annotation so that it can be overriden from the Method, Constructor, Field, etc.

Parameters:
annotation -
Returns:

resolveTypedAnnotation

<T extends Annotation> T resolveTypedAnnotation(Class<T> annotation)
Abstraction for resolving an annotation so that it can be overriden from the Method, Constructor, Field, etc.

Parameters:
annotation -
Returns:

resolveAnnotation

Object resolveAnnotation(Class<? extends Annotation>[] annotations)
Abstraction for resolving an annotation so that it can be overriden from the Method, Constructor, Field, etc.

Parameters:
annotations -
Returns:

resolveTypedAnnotation

<T extends Annotation> T resolveTypedAnnotation(Class<T>[] annotations)
Abstraction for resolving an annotation so that it can be overriden from the Method, Constructor, Field, etc.

Parameters:
annotations -
Returns:

invokeNext

Object invokeNext()
                  throws Throwable
Invoke on the next interceptor in the chain. If this is already the end of the chain, reflection will call the constructor, field, or method you are invoking on.

Throws:
Throwable

invokeTarget

Object invokeTarget()
                    throws Throwable
Invokes the target joinpoint for this invocation skipping any subsequent interceptors in the chain.

Throws:
Throwable

invokeNext

Object invokeNext(Interceptor[] newInterceptors)
                  throws Throwable
Invoke on the next interceptor in the chain. If this is already the end of the chain, reflection will call the constructor, field, or method you are invoking on.

The Invocation will use a new set of interceptors to do the invocation

Throws:
Throwable

getInterceptors

Interceptor[] getInterceptors()

getMetaData

Object getMetaData(Object group,
                   Object attr)
This method resolves untyped metadata based on the context of the invocation. It iterates through its list of MetaDataResolvers to find out the value of the metadata desired.

This list usually is ThreadMetaData, InstanceAdvisor.getMetaData ClassAdvisor.getMethodMetaData (or field, or constructor) ClassAdvisor.getDefaultMetaData


getTargetObject

Object getTargetObject()

setTargetObject

void setTargetObject(Object targetObject)

getWrapper

Invocation getWrapper(Interceptor[] newchain)
Get a wrapper invocation object that can insert a new chain of interceptors at runtime to the invocation flow. CFlow makes use of this. When the wrapper object finishes its invocation chain it delegates back to the wrapped invocation.

Parameters:
newchain -
Returns:

copy

Invocation copy()
Copies complete state of Invocation object so that it could possibly be reused in a spawned thread.

Returns:

getAdvisor

Advisor getAdvisor()


Copyright © 2008 JBoss, a division of Red Hat, Inc.. All Rights Reserved.