|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.codehaus.aspectwerkz.aspect.IntroductionContainer
Container for Introductions.
Field Summary | |
protected AspectContainer |
m_definingAspectContainer
The aspect container for the introduction. |
protected Method[] |
m_methodRepository
The methods repository. |
protected Map |
m_perClass
Holds references to the per class introductions. |
protected Map |
m_perInstance
Holds references to the per instance introductions. |
protected Introduction |
m_perJvm
Holds a reference to the sole per JVM introduction. |
protected Map |
m_perThread
Holds references to the per thread introductions. |
protected Introduction |
m_prototype
The introduction prototype. |
Constructor Summary | |
IntroductionContainer(Introduction prototype,
AspectContainer definingAspectContainer)
Creates a new container strategy. |
Method Summary | |
Class |
getTargetClass(Object mixinImpl)
Returns the target class from an introduction |
Object |
getTargetInstance(Object mixinImpl)
Returns the target instance from an introduction |
Object |
invokeIntroductionPerClass(Object targetInstance,
int methodIndex,
Object[] parameters)
Invokes the method on a per class basis. |
Object |
invokeIntroductionPerInstance(Object targetInstance,
int methodIndex,
Object[] parameters)
Invokes the method on a per instance basis. |
Object |
invokeIntroductionPerJvm(int methodIndex,
Object[] parameters)
Invokes the method on a per JVM basis. |
Object |
invokeIntroductionPerThread(int methodIndex,
Object[] parameters)
Invokes the method on a per thread basis. |
void |
swapImplementation(Class newImplementationClass)
Swaps the current mixin implementation. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected Introduction m_perJvm
protected Map m_perClass
protected Map m_perInstance
protected Map m_perThread
protected Introduction m_prototype
protected Method[] m_methodRepository
protected AspectContainer m_definingAspectContainer
Constructor Detail |
public IntroductionContainer(Introduction prototype, AspectContainer definingAspectContainer)
definingAspectContainer
- the aspect containerMethod Detail |
public Object invokeIntroductionPerJvm(int methodIndex, Object[] parameters) throws Throwable
methodIndex
- the method indexparameters
- the parameters for the invocation
Throwable
public Object invokeIntroductionPerClass(Object targetInstance, int methodIndex, Object[] parameters) throws Throwable
targetInstance
- a reference to the calling objectmethodIndex
- the method indexparameters
- the parameters for the invocation
Throwable
public Object invokeIntroductionPerInstance(Object targetInstance, int methodIndex, Object[] parameters) throws Throwable
targetInstance
- a reference to the target instancemethodIndex
- the method indexparameters
- the parameters for the invocation
Throwable
public Object invokeIntroductionPerThread(int methodIndex, Object[] parameters) throws Throwable
methodIndex
- the method indexparameters
- the parameters for the invocation
Throwable
public void swapImplementation(Class newImplementationClass)
newImplementationClass
- the class of the new implementation to usepublic Object getTargetInstance(Object mixinImpl)
mixinImpl
- aka "this" from the mixin impl
public Class getTargetClass(Object mixinImpl)
mixinImpl
- aka "this" from the mixin impl
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |