|
JBoss AOP Parent POM 2.2.2.GA | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.jboss.aop.Advisor
org.jboss.aop.ClassAdvisor
org.jboss.aop.GeneratedClassAdvisor
public class GeneratedClassAdvisor
Comment
Field Summary | |
---|---|
static String |
ADD_CONSTRUCTION_INFO
|
static String |
ADD_CONSTRUCTOR_INFO
|
static String |
ADD_FIELD_READ_INFO
|
static String |
ADD_FIELD_WRITE_INFO
|
static String |
ADD_METHOD_INFO
|
static String |
GET_PARENT_ADVISOR
|
Constructor Summary | |
---|---|
protected |
GeneratedClassAdvisor(String classname)
|
protected |
GeneratedClassAdvisor(String classname,
GeneratedClassAdvisor parent)
|
Method Summary | |
---|---|
protected void |
addConstructionInfo(ConstructionInfo ci,
Collection<ConstructionInfo> constructionInfos)
Called by initialiseConstructions() in generated advisor sub classes |
protected void |
addConstructorInfo(ConstructorInfo ci,
Collection<ConstructorInfo> constructorInfos)
Called by initialiseConstructors() in generated advisor sub classes |
protected void |
addFieldReadInfo(FieldInfo fi,
Collection<FieldInfo> fieldReadInfos)
Called by initialiseFieldReads() in generated advisor sub classes |
protected void |
addFieldWriteInfo(FieldInfo fi,
Collection<FieldInfo> fieldWriteInfos)
Called by initialiseFieldWrites() in generated advisor sub classes |
protected void |
addMethodInfo(MethodInfo mi)
Called by initialiseMethods() in generated advisor sub classes |
void |
addPerClassJoinpointAspect(AspectDefinition def,
Joinpoint joinpoint)
|
boolean |
chainOverridingForInheritedMethods()
Whether the type of advisor supports matching on pointcut expression, where the method is defined in a superclass only, while the pointcut expression class matches the subclass. |
protected void |
checkVersion()
Callback for generated instance advisors to check if the version has been updated |
void |
cleanup()
|
protected ConByConInfo |
copyInfoFromClassAdvisor(ConByConInfo info)
To be called by initialiseInfosForInstance() in the generated instance advisors |
protected ConByMethodInfo |
copyInfoFromClassAdvisor(ConByMethodInfo info)
To be called by initialiseInfosForInstance() in the generated instance advisors |
protected FieldInfo |
copyInfoFromClassAdvisor(FieldInfo info)
To be called by initialiseInfosForInstance() in the generated instance advisors |
protected MethodByConInfo |
copyInfoFromClassAdvisor(MethodByConInfo info)
To be called by initialiseInfosForInstance() in the generated instance advisors |
protected MethodByMethodInfo |
copyInfoFromClassAdvisor(MethodByMethodInfo info)
To be called by initialiseInfosForInstance() in the generated instance advisors |
protected MethodInfo |
copyInfoFromClassAdvisor(MethodInfo info)
To be called by initialiseInfosForInstance() in the generated instance advisors |
Object |
createAndRebindJoinPointForInstance(JoinPointInfo info)
Called back from generated code |
protected void |
createConstructorTables()
Optimization so that when we create instance advisors we don't have to create the constructor tables again, they were already created for the class advisor |
protected void |
createFieldTable()
Optimization so that when we create instance advisors we don't have to create the field tables again, they were already created for the class advisor |
protected void |
createInterceptorChains()
|
protected void |
createMethodTables()
Optimization so that when we create instance advisors we don't have to create the method tables again, they were already created for the class advisor |
protected void |
doRebuildForInstance()
Will be overridden by generated instanceadvisor classes and perform a rebuild |
protected void |
finalizeChains()
|
protected void |
finalizeConCalledByConInterceptorChain(ConByConInfo info)
|
protected void |
finalizeConCalledByMethodInterceptorChain(ConByMethodInfo info)
|
protected void |
finalizeFieldWriteChain()
|
protected void |
finalizeMethodCalledByConInterceptorChain(MethodByConInfo info)
|
protected void |
finalizeMethodCalledByMethodInterceptorChain(MethodByMethodInfo info)
|
protected void |
finalizeMethodChain()
|
protected void |
generateJoinPointClass(ConByConInfo info)
|
protected void |
generateJoinPointClass(ConByMethodInfo info)
|
protected void |
generateJoinPointClass(ConstructionInfo info)
|
protected void |
generateJoinPointClass(ConstructorInfo info)
|
protected void |
generateJoinPointClass(FieldInfo info)
|
protected void |
generateJoinPointClass(MethodByConInfo info)
|
protected void |
generateJoinPointClass(MethodByMethodInfo info)
|
protected void |
generateJoinPointClass(MethodInfo info)
|
Object |
getFieldAspect(FieldJoinpoint joinpoint,
AspectDefinition def)
This method is to support PER_JOINPOINT scoping of Aspects for static fields Fields are special in that a get and set do not create separate aspect instances. |
protected ConByConJoinPointGenerator |
getJoinPointGenerator(ConByConInfo info)
|
protected ConByMethodJoinPointGenerator |
getJoinPointGenerator(ConByMethodInfo info)
|
protected ConstructionJoinPointGenerator |
getJoinPointGenerator(ConstructionInfo info)
|
protected ConstructorJoinPointGenerator |
getJoinPointGenerator(ConstructorInfo info)
|
protected FieldJoinPointGenerator |
getJoinPointGenerator(FieldInfo info)
|
protected MethodByConJoinPointGenerator |
getJoinPointGenerator(MethodByConInfo info)
|
protected MethodByMethodJoinPointGenerator |
getJoinPointGenerator(MethodByMethodInfo info)
|
protected MethodJoinPointGenerator |
getJoinPointGenerator(MethodInfo info)
|
Object |
getPerClassAspect(AspectDefinition def)
If this is an instance advisor, will check with parent class advisor if the aspect is already registered. |
Object |
getPerClassJoinpointAspect(AspectDefinition def,
Joinpoint joinpoint)
|
Set<AspectDefinition> |
getPerInstanceAspectDefinitions()
|
Map<AspectDefinition,Set<Joinpoint>> |
getPerInstanceJoinpointAspectDefinitions()
|
protected void |
handleOverriddenMethods(AdviceBinding binding)
|
protected void |
initConstructionJoinPointGeneratorsMap()
|
protected void |
initFieldReadJoinPointGeneratorsMap()
|
protected void |
initialise(Class<?> clazz,
AspectManager manager)
|
protected void |
initialiseCallers()
Generated class advisor sub class will override |
protected void |
initialiseConstructions(Collection<ConstructionInfo> constructorInfos)
Generated class advisor sub class will override |
protected void |
initialiseConstructors(Collection<ConstructorInfo> constructorInfos)
Generated class advisor sub class will override |
protected void |
initialiseFieldReads(Collection<FieldInfo> fieldReadInfos)
Generated class advisor sub class will override |
protected void |
initialiseFieldWrites(Collection<FieldInfo> fieldWriteInfos)
Generated class advisor sub class will override |
protected void |
initialiseInfosForInstance()
Generated instance advisor sub class will override |
protected void |
initialiseMethods()
Generated class advisor sub class will override |
protected void |
initializeConstructionChain()
|
protected void |
initializeConstructorChain()
|
protected void |
initializeFieldReadChain()
|
protected void |
initializeFieldWriteChain()
|
protected void |
initializeMethodChain()
|
protected void |
initJoinPointGeneratorsMap()
|
protected void |
initMethodCalledByConJoinPointGeneratorsMap()
|
protected ConcurrentHashMap<Joinpoint,Interceptor[]> |
initOldConstructionInfosMap()
|
protected ConcurrentHashMap<Joinpoint,Interceptor[]> |
initOldFieldReadInfosMap()
|
protected ConcurrentHashMap<Joinpoint,Interceptor[]> |
initOldInfosMap()
|
protected void |
internalRebuildInterceptors()
Callback for instance advisors to rebuild their interceptors when their version number is out of sync |
protected void |
pointcutResolved(JoinPointInfo info,
AdviceBinding binding,
Joinpoint joinpoint)
Override default behaviour of when a pointcut is matched, populate the factories since this is what is needed for generating the optimized invocation method |
protected Object |
rebindJoinPointWithInstanceInformation(JoinPointInfo info)
|
protected void |
rebuildInterceptors()
|
protected void |
rebuildInterceptorsForAddedBinding(AdviceBinding binding)
|
protected void |
rebuildInterceptorsForRemovedBinding(AdviceBinding binding)
|
void |
removePerClassJoinpointAspect(AspectDefinition def)
|
protected void |
resolveConstructionPointcut(AdviceBinding binding)
|
protected void |
resolveConstructorPointcut(AdviceBinding binding)
|
protected void |
resolveFieldPointcut(FieldInfo[] newFieldInfos,
Interceptor[][] fieldInterceptors,
AdviceBinding binding,
boolean write)
|
protected void |
resolveMethodPointcut(AdviceBinding binding)
|
String |
toString()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final String ADD_METHOD_INFO
public static final String ADD_CONSTRUCTOR_INFO
public static final String ADD_CONSTRUCTION_INFO
public static final String ADD_FIELD_READ_INFO
public static final String ADD_FIELD_WRITE_INFO
public static final String GET_PARENT_ADVISOR
Constructor Detail |
---|
protected GeneratedClassAdvisor(String classname)
protected GeneratedClassAdvisor(String classname, GeneratedClassAdvisor parent)
Method Detail |
---|
public void cleanup()
cleanup
in class ClassAdvisor
protected void initialise(Class<?> clazz, AspectManager manager)
protected void initialiseCallers()
protected void initialiseInfosForInstance()
protected MethodInfo copyInfoFromClassAdvisor(MethodInfo info)
protected FieldInfo copyInfoFromClassAdvisor(FieldInfo info)
protected ConByConInfo copyInfoFromClassAdvisor(ConByConInfo info)
protected MethodByConInfo copyInfoFromClassAdvisor(MethodByConInfo info)
protected ConByMethodInfo copyInfoFromClassAdvisor(ConByMethodInfo info)
protected MethodByMethodInfo copyInfoFromClassAdvisor(MethodByMethodInfo info)
protected void rebuildInterceptors()
rebuildInterceptors
in class ClassAdvisor
protected void rebuildInterceptorsForAddedBinding(AdviceBinding binding)
rebuildInterceptorsForAddedBinding
in class ClassAdvisor
protected void rebuildInterceptorsForRemovedBinding(AdviceBinding binding)
rebuildInterceptorsForRemovedBinding
in class ClassAdvisor
protected void internalRebuildInterceptors()
protected void checkVersion()
protected void doRebuildForInstance()
protected void handleOverriddenMethods(AdviceBinding binding)
protected void resolveMethodPointcut(AdviceBinding binding)
resolveMethodPointcut
in class Advisor
protected void resolveFieldPointcut(FieldInfo[] newFieldInfos, Interceptor[][] fieldInterceptors, AdviceBinding binding, boolean write)
resolveFieldPointcut
in class ClassAdvisor
protected void resolveConstructorPointcut(AdviceBinding binding)
resolveConstructorPointcut
in class Advisor
protected void resolveConstructionPointcut(AdviceBinding binding)
resolveConstructionPointcut
in class Advisor
protected void initialiseMethods()
protected void addMethodInfo(MethodInfo mi)
protected void initializeMethodChain()
initializeMethodChain
in class ClassAdvisor
protected void initialiseConstructors(Collection<ConstructorInfo> constructorInfos)
protected void addConstructorInfo(ConstructorInfo ci, Collection<ConstructorInfo> constructorInfos)
protected void createInterceptorChains() throws Exception
createInterceptorChains
in class ClassAdvisor
Exception
protected void initialiseConstructions(Collection<ConstructionInfo> constructorInfos)
protected void addConstructionInfo(ConstructionInfo ci, Collection<ConstructionInfo> constructionInfos)
protected void initialiseFieldReads(Collection<FieldInfo> fieldReadInfos)
protected void addFieldReadInfo(FieldInfo fi, Collection<FieldInfo> fieldReadInfos)
protected void initializeConstructorChain()
initializeConstructorChain
in class Advisor
protected void initializeConstructionChain()
initializeConstructionChain
in class Advisor
protected void initializeFieldReadChain()
initializeFieldReadChain
in class ClassAdvisor
protected void initialiseFieldWrites(Collection<FieldInfo> fieldWriteInfos)
protected void addFieldWriteInfo(FieldInfo fi, Collection<FieldInfo> fieldWriteInfos)
protected void initializeFieldWriteChain()
initializeFieldWriteChain
in class ClassAdvisor
protected void finalizeChains()
finalizeChains
in class ClassAdvisor
protected void finalizeMethodChain()
finalizeMethodChain
in class Advisor
protected void finalizeFieldWriteChain()
protected void finalizeMethodCalledByMethodInterceptorChain(MethodByMethodInfo info)
finalizeMethodCalledByMethodInterceptorChain
in class ClassAdvisor
protected void finalizeConCalledByMethodInterceptorChain(ConByMethodInfo info)
finalizeConCalledByMethodInterceptorChain
in class ClassAdvisor
protected void finalizeConCalledByConInterceptorChain(ConByConInfo info)
finalizeConCalledByConInterceptorChain
in class ClassAdvisor
protected void finalizeMethodCalledByConInterceptorChain(MethodByConInfo info)
finalizeMethodCalledByConInterceptorChain
in class ClassAdvisor
protected MethodJoinPointGenerator getJoinPointGenerator(MethodInfo info)
protected FieldJoinPointGenerator getJoinPointGenerator(FieldInfo info)
protected ConstructorJoinPointGenerator getJoinPointGenerator(ConstructorInfo info)
protected ConstructionJoinPointGenerator getJoinPointGenerator(ConstructionInfo info)
protected MethodByMethodJoinPointGenerator getJoinPointGenerator(MethodByMethodInfo info)
protected ConByMethodJoinPointGenerator getJoinPointGenerator(ConByMethodInfo info)
protected ConByConJoinPointGenerator getJoinPointGenerator(ConByConInfo info)
protected MethodByConJoinPointGenerator getJoinPointGenerator(MethodByConInfo info)
protected void pointcutResolved(JoinPointInfo info, AdviceBinding binding, Joinpoint joinpoint)
pointcutResolved
in class Advisor
public String toString()
toString
in class Object
public Object getPerClassAspect(AspectDefinition def)
getPerClassAspect
in class Advisor
public Object getPerClassJoinpointAspect(AspectDefinition def, Joinpoint joinpoint)
public void addPerClassJoinpointAspect(AspectDefinition def, Joinpoint joinpoint)
public void removePerClassJoinpointAspect(AspectDefinition def)
public boolean chainOverridingForInheritedMethods()
Advisor
public class Super {
void method(){}
}
public class Sub etxends Super {
}
and
<bind pointcut="execution(* Super->method())">
<interceptor class="A"/>
</bind>
<bind pointcut="execution(* sub->method())">
<interceptor class="B"/>
</bind>
chainOverridingForInheritedMethods
in class Advisor
Advisor.chainOverridingForInheritedMethods()
public Object getFieldAspect(FieldJoinpoint joinpoint, AspectDefinition def)
ClassAdvisor
getFieldAspect
in class ClassAdvisor
protected void createMethodTables() throws Exception
createMethodTables
in class ClassAdvisor
Exception
protected void createFieldTable() throws Exception
createFieldTable
in class ClassAdvisor
Exception
protected void createConstructorTables() throws Exception
createConstructorTables
in class ClassAdvisor
Exception
public Set<AspectDefinition> getPerInstanceAspectDefinitions()
getPerInstanceAspectDefinitions
in class Advisor
public Map<AspectDefinition,Set<Joinpoint>> getPerInstanceJoinpointAspectDefinitions()
getPerInstanceJoinpointAspectDefinitions
in class Advisor
protected void generateJoinPointClass(MethodInfo info)
protected void generateJoinPointClass(FieldInfo info)
protected void generateJoinPointClass(ConstructorInfo info)
protected void generateJoinPointClass(ConstructionInfo info)
protected void generateJoinPointClass(MethodByMethodInfo info)
protected void generateJoinPointClass(ConByMethodInfo info)
protected void generateJoinPointClass(ConByConInfo info)
protected void generateJoinPointClass(MethodByConInfo info)
protected Object rebindJoinPointWithInstanceInformation(JoinPointInfo info)
public Object createAndRebindJoinPointForInstance(JoinPointInfo info)
protected void initJoinPointGeneratorsMap()
protected void initFieldReadJoinPointGeneratorsMap()
protected void initConstructionJoinPointGeneratorsMap()
protected void initMethodCalledByConJoinPointGeneratorsMap()
protected ConcurrentHashMap<Joinpoint,Interceptor[]> initOldInfosMap()
protected ConcurrentHashMap<Joinpoint,Interceptor[]> initOldFieldReadInfosMap()
protected ConcurrentHashMap<Joinpoint,Interceptor[]> initOldConstructionInfosMap()
|
JBoss AOP Parent POM 2.2.2.GA | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |