| java.lang.Object org.codehaus.aspectwerkz.transform.aspectj.AspectJAspectModel
AspectJAspectModel | public class AspectJAspectModel implements AspectModel,TransformationConstants(Code) | | Implementation of the AspectModel interface for the AspectJ framework.
Provides methods for definition of aspects and framework specific bytecode generation
used by the join point compiler.
author: Jonas BonŽr |
Method Summary | |
public void | createAfterAdviceArgumentHandling(CodeVisitor cv, AdviceMethodInfo adviceMethodInfo) Handles the arguments to the after advice. | public void | createAroundAdviceArgumentHandling(CodeVisitor cv, AdviceMethodInfo adviceMethodInfo) Handles the arguments to the before around. | public void | createAspectInstantiation(CodeVisitor cv, AspectInfo aspectInfo, String joinPointClassName) Creates instantiation of the aspectj aspect instance by invoking aspectOf(). | public void | createAspectReferenceField(ClassWriter cw, AspectInfo aspectInfo, String joinPointClassName) | public void | createBeforeAdviceArgumentHandling(CodeVisitor cv, AdviceMethodInfo adviceMethodInfo) Handles the arguments to the before advice. | public void | createInvocationOfAroundClosureSuperClass(CodeVisitor cv) Creates an invocation of the around closure class' constructor. | public void | createMandatoryMethods(ClassWriter cw, String className) Creates the methods required to implement or extend to implement the closure for the specific aspect model type. | public void | defineAspect(ClassInfo classInfo, AspectDefinition aspectDef, ClassLoader loader) Defines the aspect. | public AroundClosureClassInfo | getAroundClosureClassInfo() Returns info about the closure class, name and type (interface or class). | public String | getAspectModelType() Returns the aspect model type, which is an id for the the special aspect model, can be anything as long
as it is unique. | public boolean | requiresReflectiveInfo() AspectJ is not in need for reflective information, passes contextual info through args() binding etc. |
createAfterAdviceArgumentHandling | public void createAfterAdviceArgumentHandling(CodeVisitor cv, AdviceMethodInfo adviceMethodInfo)(Code) | | Handles the arguments to the after advice.
Parameters: cv - Parameters: adviceMethodInfo - |
createAroundAdviceArgumentHandling | public void createAroundAdviceArgumentHandling(CodeVisitor cv, AdviceMethodInfo adviceMethodInfo)(Code) | | Handles the arguments to the before around.
Parameters: cv - Parameters: adviceMethodInfo - |
createAspectInstantiation | public void createAspectInstantiation(CodeVisitor cv, AspectInfo aspectInfo, String joinPointClassName)(Code) | | Creates instantiation of the aspectj aspect instance by invoking aspectOf().
TODO support other aspectOf() types of aspect retrieval
Parameters: cv - Parameters: aspectInfo - Parameters: joinPointClassName - |
createAspectReferenceField | public void createAspectReferenceField(ClassWriter cw, AspectInfo aspectInfo, String joinPointClassName)(Code) | | Creates a field to host the aspectj aspect instance
TODO support other aspect deployment model
Parameters: cw - Parameters: aspectInfo - Parameters: joinPointClassName - |
createBeforeAdviceArgumentHandling | public void createBeforeAdviceArgumentHandling(CodeVisitor cv, AdviceMethodInfo adviceMethodInfo)(Code) | | Handles the arguments to the before advice.
Parameters: cv - Parameters: adviceMethodInfo - |
createInvocationOfAroundClosureSuperClass | public void createInvocationOfAroundClosureSuperClass(CodeVisitor cv)(Code) | | Creates an invocation of the around closure class' constructor.
Parameters: cv - |
createMandatoryMethods | public void createMandatoryMethods(ClassWriter cw, String className)(Code) | | Creates the methods required to implement or extend to implement the closure for the specific aspect model type.
Parameters: cw - Parameters: className - |
getAroundClosureClassInfo | public AroundClosureClassInfo getAroundClosureClassInfo()(Code) | | Returns info about the closure class, name and type (interface or class).
the closure class info |
getAspectModelType | public String getAspectModelType()(Code) | | Returns the aspect model type, which is an id for the the special aspect model, can be anything as long
as it is unique.
the aspect model type id |
requiresReflectiveInfo | public boolean requiresReflectiveInfo()(Code) | | AspectJ is not in need for reflective information, passes contextual info through args() binding etc.
or handles it itself using 'thisJoinPoint'.
true |
|
|