|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.jboss.aop.Advisor
public abstract class Advisor
Manages the interceptor chains of an aspect context (usually, this context is composed by either all joinpoints of a class, or the joinponts of an instance).
Field Summary | |
---|---|
protected Set<AdviceBinding> |
adviceBindings
The collection of bindings that are applied to one or more joinpoints in the advised context. |
protected HashMap<AspectDefinition,Map<String,Interceptor>> |
adviceInterceptors
Contains all the interceptor instances applied to this context. |
protected gnu.trove.TLongObjectHashMap |
advisedMethods
Maps all advised methods to their interceptor chains. |
protected AnnotationRepository |
annotations
Repository that contains all annotations applied to the context of this advisor |
protected ConcurrentHashMap<String,Object> |
aspects
Contains all the aspect instances applied to this context. |
protected SimpleMetaData |
classMetaData
The target class meta data. |
protected ArrayList<ClassMetaDataBinding> |
classMetaDataBindings
The collection of class metadata bindings that are applied to the advised context. |
protected Class<?> |
clazz
Target class of the advised joinpoint. |
protected ConstructionInfo[] |
constructionInfos
|
protected Interceptor[][] |
constructionInterceptors
Deprecated. Use constructorInfos instead |
protected ConstructorInfo[] |
constructorInfos
|
protected Interceptor[][] |
constructorInterceptors
Deprecated. Use constructorInfos instead |
protected ConstructorMetaData |
constructorMetaData
Constructor execution joinpoints meta data. |
protected Constructor<?>[] |
constructors
Contains the constructors that belong to the advised context. |
protected SimpleMetaData |
defaultMetaData
Meta data that apply to all advised joinpoints. |
protected boolean |
doesHaveAspects
Indicates whether there is one or more aspects applied to this context. |
protected FieldMetaData |
fieldMetaData
Field read/write joinpoints meta data. |
protected ArrayList<InterfaceIntroduction> |
interfaceIntroductions
The collection of interface introductions that affect the advised context. |
protected Object |
lazyCollectionLock
Read/Write lock to be used when lazy creating the collections |
protected WeakReference<ClassLoader> |
loader
Target class loader of the advised joinpoint. |
protected AspectManager |
manager
Domain to which this advisor belongs. |
protected MethodInterceptors |
methodInfos
Collection of method execution joinpoints. |
protected gnu.trove.TLongObjectHashMap |
methodInterceptors
Deprecated. use methodInfos instead. These remain here for compatibility with EJB 3 in JBoss 4.x. See JBAOP-517 |
protected MethodMetaData |
methodMetaData
Method execution joinpoints meta data. |
protected String |
name
Name that identifies this advisor. |
protected static Object |
NULL_ASPECT
Indicates that a call to factory create has already been made, but the factory returned null . |
protected CopyOnWriteArraySet<AspectDefinition> |
perInstanceAspectDefinitions
Contains all definitions of PER_INSTANCE aspects applied to this context. |
protected ConcurrentHashMap<AspectDefinition,Set<Joinpoint>> |
perInstanceJoinpointAspectDefinitions
Contains all definitions of PER_JOINPOINT scoped aspects applied to this sccontext |
Constructor Summary | |
---|---|
Advisor(String name,
AspectManager manager)
Constructor. |
Method Summary | ||
---|---|---|
void |
addAdviceInterceptor(AspectDefinition def,
String adviceName,
Interceptor interceptor,
Joinpoint joinpoint)
|
|
abstract void |
addClassMetaData(ClassMetaDataBinding data)
|
|
void |
addInterfaceIntroduction(InterfaceIntroduction pointcut)
|
|
void |
addPerClassAspect(AspectDefinition def)
|
|
void |
addPerInstanceAspect(AspectDefinition def)
|
|
void |
addPerInstanceJoinpointAspect(Joinpoint joinpoint,
AspectDefinition def)
|
|
protected void |
adjustInfoForAddedBinding(JoinPointInfo info)
If the info was updated in response to a rebuildInterceptorsForAddedBinding call it will have the original interceptors in the interceptors array, and the appended interceptors in the interceptorChain List. |
|
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. |
|
void |
cleanup()
|
|
protected void |
createInterceptorChain(InterceptorFactory[] factories,
ArrayList<Interceptor> newinterceptors,
Joinpoint joinpoint)
|
|
void |
deployAnnotationOverride(AnnotationIntroduction introduction)
Deploys introduction to the advised context, overriding current
annotions with the same name, in case they are present. |
|
void |
deployAnnotationOverrides()
Deploys to the advised context all AnnotationIntroduction that should
override current annotions, in case they are present. |
|
protected void |
deployMethodAnnotationOverrides(Class<?> theClass,
AnnotationIntroduction introduction)
Recursively deploys all method annotation introductions, overriding annotations with the same name. |
|
void |
doDeployAnnotationOverride(AnnotationIntroduction introduction)
Deploys introduction to the advised context, overriding current
annotions with the same name, in case they are present. |
|
InvocationResponse |
dynamicInvoke(Object target,
Invocation invocation)
|
|
protected void |
finalizeChain(JoinPointInfo[] infos)
|
|
protected void |
finalizeMethodChain()
|
|
Interceptor |
getAdviceInterceptor(AspectDefinition def,
String adviceName,
Joinpoint joinpoint)
|
|
Method[] |
getAllMethods()
Deprecated. Need a better mechanism to override the methods seen by pointcuts, e.g. those provided by a "proxy advisor" |
|
AnnotationRepository |
getAnnotations()
Returns the annotation repository used by this advisor to keep all annotations that are applied to the advised joinpoints. |
|
ClassLoader |
getClassLoader()
Returns the class loader associated with this advisor. |
|
SimpleMetaData |
getClassMetaData()
Returns the target class meta data. |
|
List<ClassMetaDataBinding> |
getClassMetadataBindings()
Returns the collection of class meta data bindings that are applied to the advised context. |
|
Class |
getClazz()
EJB3 counts on this being unchecked |
|
ConstructionInfo[] |
getConstructionInfos()
Returns the list of advised construction joinpoints. |
|
Interceptor[][] |
getConstructionInterceptors()
Deprecated. Use getConstructionInfos instead |
|
ConstructorInfo[] |
getConstructorInfos()
Returns the list of advised constructor execution joinpoints. |
|
Interceptor[][] |
getConstructorInterceptors()
Deprecated. Use getConstructorInfos instead |
|
ConstructorMetaData |
getConstructorMetaData()
Returns the constructor joinpoints meta data |
|
Constructor<?>[] |
getConstructors()
Returns the list of constructors that belong to the advised context. |
|
SimpleMetaData |
getDefaultMetaData()
Returns the meta data that is applied to all joinpoints and to the target class. |
|
FieldMetaData |
getFieldMetaData()
Returns the field joinpoints meta data |
|
ArrayList<InterfaceIntroduction> |
getInterfaceIntroductions()
|
|
AspectManager |
getManager()
Returns the aspect manager that represents the domain to which this Advisor belongs. |
|
org.jboss.metadata.spi.MetaData |
getMetadata()
Get the metadata |
|
MethodInfo |
getMethodInfo(long hash)
Returns the MethodInfo that represents the execution of the method
identified by hash . |
|
MethodMetaData |
getMethodMetaData()
Returns the method joinpoints meta data |
|
String |
getName()
|
|
Object |
getPerClassAspect(AspectDefinition def)
|
|
Object |
getPerClassAspect(String def)
|
|
Set<AspectDefinition> |
getPerInstanceAspectDefinitions()
|
|
Map<AspectDefinition,Set<Joinpoint>> |
getPerInstanceJoinpointAspectDefinitions()
|
|
Object |
getPerVMAspect(AspectDefinition def)
|
|
static String |
getSimpleName(Class<?> clazz)
Deprecated. Use Class.getSimpleName() instead |
|
boolean |
hasAnnotation(Class<?> tgt,
Class<? extends Annotation> annotation)
Indicates whether tgt has an annotation/meta data whose type is annotation . |
|
boolean |
hasAnnotation(Class<?> tgt,
String annotation)
Indicates whether tgt has an annotation/meta data whose name is annotation . |
|
boolean |
hasAnnotation(Constructor<?> m,
String annotation)
|
|
boolean |
hasAnnotation(javassist.CtClass clazz,
String annotation)
|
|
boolean |
hasAnnotation(javassist.CtConstructor member,
String annotation)
|
|
boolean |
hasAnnotation(javassist.CtField member,
String annotation)
|
|
boolean |
hasAnnotation(javassist.CtMethod member,
String annotation)
|
|
boolean |
hasAnnotation(Field m,
Class<? extends Annotation> annotation)
|
|
boolean |
hasAnnotation(Field m,
String annotation)
|
|
boolean |
hasAnnotation(Method m,
Class<? extends Annotation> annotation)
|
|
boolean |
hasAnnotation(Method m,
String annotation)
|
|
boolean |
hasAnnotation(String annotation)
Indicates whether the advised class has an annotation/meta data whose name is annotation . |
|
boolean |
hasAspects()
|
|
boolean |
hasSameConstructorAspectLength(Advisor other)
|
|
boolean |
hasSameMethodAspectLength(Advisor other)
|
|
protected void |
initAdvisedMethodsMap()
|
|
protected void |
initClassMetaDataBindingsList()
|
|
protected void |
initializeConstructionChain()
|
|
protected void |
initializeConstructorChain()
|
|
protected void |
initializeInterfaceIntroductions(Class<?> theClass)
Deploys to the advised context all InterfaceIntroduction whose pointcut
matches one or more advised joinpoints. |
|
protected void |
initInterfaceIntroductionsList()
|
|
protected void |
initPerInstanceAspectDefinitionsSet()
|
|
protected void |
initPerInstanceJoinpointAspectDefinitionsMap()
|
|
protected void |
lockWriteChain(JoinPointInfo[] infos)
|
|
protected void |
lockWriteChain(MethodInterceptors methodInterceptors)
|
|
void |
newBindingAdded()
a new binding has been added to the AspectManager, recalculate interceptors |
|
void |
newBindingAdded(AdviceBinding binding)
|
|
protected void |
pointcutResolved(JoinPointInfo info,
AdviceBinding binding,
Joinpoint joinpoint)
Default implementation adds interceptorChain directly to the info. |
|
protected void |
populateInterceptorsFromInfos()
Deprecated. We should just be using xxxxInfos |
|
protected abstract void |
rebuildInterceptors()
|
|
protected abstract void |
rebuildInterceptorsForAddedBinding(AdviceBinding binding)
|
|
protected abstract void |
rebuildInterceptorsForRemovedBinding(AdviceBinding removedBinding)
|
|
void |
removeAdviceBinding(AdviceBinding binding)
|
|
void |
removeAdviceBindings(ArrayList<AdviceBinding> bindings)
|
|
abstract void |
removeClassMetaData(ClassMetaDataBinding data)
|
|
void |
removeInterfaceIntroduction(InterfaceIntroduction pointcut)
|
|
void |
removePerClassAspect(AspectDefinition def)
|
|
void |
removePerInstanceAspect(AspectDefinition def)
|
|
void |
removePerInstanceJoinpointAspect(AspectDefinition def)
|
|
protected void |
resetChain(JoinPointInfo[] infos)
|
|
protected void |
resetChain(MethodInterceptors methodInterceptors)
|
|
protected void |
resetChainKeepInterceptors(JoinPointInfo[] infos)
|
|
protected void |
resetChainKeepInterceptors(MethodInterceptors methodInterceptors)
|
|
Object |
resolveAnnotation(Class<? extends Annotation> annotation)
Returns an object representing the meta data of type annotation , if
present. |
|
Object |
resolveAnnotation(Constructor<?> c,
Class<? extends Annotation> annotation)
|
|
Object |
resolveAnnotation(Field f,
Class<? extends Annotation> annotation)
|
|
Object |
resolveAnnotation(long hash,
Method m,
Class<? extends Annotation> annotation)
Returns an object representing the method m annotation of type
annotation , if m has such annotation. |
|
Object |
resolveAnnotation(Method m,
Class<?>[] annotationChoices)
Returns an object representing the method m annotation whose type is
one of the elements in annotationChoices , if m has such
annotation. |
|
Object |
resolveAnnotation(Method m,
Class<? extends Annotation> annotation)
Returns an object representing the method m annotation of type
annotation , if m has such annotation. |
|
protected void |
resolveConstructionPointcut(AdviceBinding binding)
|
|
protected void |
resolveConstructorPointcut(AdviceBinding binding)
|
|
protected void |
resolveMethodPointcut(AdviceBinding binding)
|
|
|
resolveTypedAnnotation(Class<T> annotation)
Returns an object representing the meta data of type annotation , if
present. |
|
|
resolveTypedAnnotation(Constructor<?> c,
Class<T> annotation)
|
|
|
resolveTypedAnnotation(Field f,
Class<T> annotation)
|
|
|
resolveTypedAnnotation(long hash,
Method m,
Class<T> annotation)
Returns an object representing the method m annotation of type
annotation , if m has such annotation. |
|
|
resolveTypedAnnotation(Method m,
Class<T> annotation)
Returns an object representing the method m annotation of type
annotation , if m has such annotation. |
|
|
resolveTypedAnnotation(Method m,
Class<T>[] annotationChoices)
Returns an object representing the method m annotation whose type is
one of the elements in annotationChoices , if m has such
annotation. |
|
protected void |
setChainOverridingForInheritedMethods(boolean overriding)
|
|
protected void |
setManager(AspectManager manager)
For use by generated advisors. |
|
void |
setMetadata(org.jboss.metadata.spi.MetaData metadata)
Set the metadata |
|
protected void |
unlockWriteChain(JoinPointInfo[] infos)
|
|
protected void |
unlockWriteChain(MethodInterceptors methodInterceptors)
|
|
protected void |
updateConstructionPointcutAfterRemove(AdviceBinding binding)
|
|
protected void |
updateConstructorPointcutAfterRemove(AdviceBinding binding)
|
|
protected void |
updateFieldPointcutAfterRemove(FieldInfo[] fieldInfos,
AdviceBinding binding,
boolean write)
|
|
protected void |
updateFieldPointcutAfterRemove(FieldInfo fieldInfo,
int i,
boolean write)
|
|
protected void |
updateMethodPointcutAfterRemove(AdviceBinding binding)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected Object lazyCollectionLock
protected Set<AdviceBinding> adviceBindings
protected volatile ArrayList<InterfaceIntroduction> interfaceIntroductions
protected volatile ArrayList<ClassMetaDataBinding> classMetaDataBindings
protected SimpleMetaData defaultMetaData
protected MethodMetaData methodMetaData
protected FieldMetaData fieldMetaData
protected SimpleMetaData classMetaData
protected ConstructorMetaData constructorMetaData
protected AnnotationRepository annotations
protected boolean doesHaveAspects
protected String name
protected ConcurrentHashMap<String,Object> aspects
protected HashMap<AspectDefinition,Map<String,Interceptor>> adviceInterceptors
protected volatile CopyOnWriteArraySet<AspectDefinition> perInstanceAspectDefinitions
protected volatile ConcurrentHashMap<AspectDefinition,Set<Joinpoint>> perInstanceJoinpointAspectDefinitions
protected volatile gnu.trove.TLongObjectHashMap advisedMethods
protected gnu.trove.TLongObjectHashMap methodInterceptors
AspectManager.maintainAdvisorMethodInterceptors
protected MethodInterceptors methodInfos
protected AspectManager manager
protected Class<?> clazz
protected WeakReference<ClassLoader> loader
protected Constructor<?>[] constructors
protected Interceptor[][] constructorInterceptors
protected ConstructorInfo[] constructorInfos
protected Interceptor[][] constructionInterceptors
protected ConstructionInfo[] constructionInfos
protected static Object NULL_ASPECT
null
.
Constructor Detail |
---|
public Advisor(String name, AspectManager manager)
Do not use this method to create Advisor
instances. Instead, use the
create
methods of .
name
- identifies the advisor to be created.manager
- the domain to which this advisor belongs.Method Detail |
---|
public MethodInfo getMethodInfo(long hash)
MethodInfo
that represents the execution of the method
identified by hash
.
hash
- a hash code that identifies uniquely a method inside the context.
MethodInfo
representing the queried method execution
joinpoint.public Constructor<?>[] getConstructors()
public Interceptor[][] getConstructorInterceptors()
public ConstructorInfo[] getConstructorInfos()
ConstructorInfo
objectspublic Interceptor[][] getConstructionInterceptors()
public ConstructionInfo[] getConstructionInfos()
ConstructionInfo
objectspublic Method[] getAllMethods()
public AspectManager getManager()
Advisor
belongs.
AspectManager
instance.protected void setManager(AspectManager manager)
manager
- the domain to which this Advisor
belongs.public List<ClassMetaDataBinding> getClassMetadataBindings()
ClassMetaDataBinding
. This list is not a copy, and,
hence, must not be edited.public SimpleMetaData getClassMetaData()
public SimpleMetaData getDefaultMetaData()
public MethodMetaData getMethodMetaData()
public FieldMetaData getFieldMetaData()
public ConstructorMetaData getConstructorMetaData()
public void deployAnnotationOverrides()
AnnotationIntroduction
that should
override current annotions, in case they are present.
AspectManager.getAnnotationOverrides()
).
public void deployAnnotationOverride(AnnotationIntroduction introduction)
introduction
to the advised context, overriding current
annotions with the same name, in case they are present.
introduction
- an annotation introduction that must be applied to the
advised context.public void doDeployAnnotationOverride(AnnotationIntroduction introduction)
introduction
to the advised context, overriding current
annotions with the same name, in case they are present.
deployAnnotationOverride(AnnotationIntroduction)
instead.
introduction
- an annotation introduction that must be applied to the
advised context.introduction
- protected void initializeInterfaceIntroductions(Class<?> theClass)
InterfaceIntroduction
whose pointcut
matches one or more advised joinpoints.
AspectManager.getInterfaceIntroductions()
).
protected void deployMethodAnnotationOverrides(Class<?> theClass, AnnotationIntroduction introduction)
For internal use only.
theClass
- the class that contains the affected methods. Must be
equal to getClazz()
or to one of its super
classes.introduction
- the introduction to be deployed.public AnnotationRepository getAnnotations()
For internal use only.
public Object resolveAnnotation(Class<? extends Annotation> annotation)
annotation
, if
present.
annotation
- the type of meta data/annotation queried
annotation
public <T extends Annotation> T resolveTypedAnnotation(Class<T> annotation)
annotation
, if
present.
annotation
- the type of meta data/annotation queried
annotation
public boolean hasAnnotation(String annotation)
annotation
.
annotation
- the name of an annotation
true
if there is an annotation/meta data whose name is annotation
public boolean hasAnnotation(Class<?> tgt, String annotation)
tgt
has an annotation/meta data whose name is annotation
.
tgt
- the target class whose annotations/meta data will be examined.annotation
- the name of an annotation
true
if there is an annotation/meta data whose name is annotation
public boolean hasAnnotation(Class<?> tgt, Class<? extends Annotation> annotation)
tgt
has an annotation/meta data whose type is annotation
.
tgt
- the target class whose annotations/meta data will be examined.annotation
- the type of an annotation
true
if tgt
has an annotation/meta data whose type is
annotation
public Object resolveAnnotation(Method m, Class<? extends Annotation> annotation)
m
annotation of type
annotation
, if m
has such annotation.
m
- the method whose annotation is being queriedannotation
- the type of the queried annotation
annotation
that apply to
m
public <T extends Annotation> T resolveTypedAnnotation(Method m, Class<T> annotation)
m
annotation of type
annotation
, if m
has such annotation.
m
- the method whose annotation is being queriedannotation
- the type of the queried annotation
annotation
that apply to
m
public Object resolveAnnotation(long hash, Method m, Class<? extends Annotation> annotation)
m
annotation of type
annotation
, if m
has such annotation.
hash
- the hashcode of m
m
- the method whose annotation is being queriedannotation
- the type of the queried annotation
annotation
that apply to
m
public <T extends Annotation> T resolveTypedAnnotation(long hash, Method m, Class<T> annotation)
m
annotation of type
annotation
, if m
has such annotation.
hash
- the hashcode of m
m
- the method whose annotation is being queriedannotation
- the type of the queried annotation
annotation
that apply to
m
public Object resolveAnnotation(Method m, Class<?>[] annotationChoices)
m
annotation whose type is
one of the elements in annotationChoices
, if m
has such
annotation.
m
- the method whose annotation is being queriedannotationChoices
- the queried annotation must have one of the types
contained in this array
m
whose type is in
annotationChoices
public <T extends Annotation> T resolveTypedAnnotation(Method m, Class<T>[] annotationChoices)
m
annotation whose type is
one of the elements in annotationChoices
, if m
has such
annotation.
m
- the method whose annotation is being queriedannotationChoices
- the queried annotation must have one of the types
contained in this array
m
whose type is in
annotationChoices
public Object resolveAnnotation(Field f, Class<? extends Annotation> annotation)
public <T extends Annotation> T resolveTypedAnnotation(Field f, Class<T> annotation)
public Object resolveAnnotation(Constructor<?> c, Class<? extends Annotation> annotation)
public <T extends Annotation> T resolveTypedAnnotation(Constructor<?> c, Class<T> annotation)
public boolean hasAnnotation(Method m, String annotation)
public boolean hasAnnotation(Method m, Class<? extends Annotation> annotation)
public boolean hasAnnotation(Field m, Class<? extends Annotation> annotation)
public boolean hasAnnotation(Field m, String annotation)
public boolean hasAnnotation(Constructor<?> m, String annotation)
public boolean hasAnnotation(javassist.CtClass clazz, String annotation)
public boolean hasAnnotation(javassist.CtMethod member, String annotation)
public boolean hasAnnotation(javassist.CtField member, String annotation)
public boolean hasAnnotation(javassist.CtConstructor member, String annotation)
public org.jboss.metadata.spi.MetaData getMetadata()
public void setMetadata(org.jboss.metadata.spi.MetaData metadata)
metadata
- the metadatapublic String getName()
public final boolean hasAspects()
public void removeAdviceBinding(AdviceBinding binding)
public void removeAdviceBindings(ArrayList<AdviceBinding> bindings)
public void newBindingAdded()
public void newBindingAdded(AdviceBinding binding)
public ArrayList<InterfaceIntroduction> getInterfaceIntroductions()
public void addInterfaceIntroduction(InterfaceIntroduction pointcut)
public void removeInterfaceIntroduction(InterfaceIntroduction pointcut)
protected abstract void rebuildInterceptors()
protected abstract void rebuildInterceptorsForAddedBinding(AdviceBinding binding)
protected abstract void rebuildInterceptorsForRemovedBinding(AdviceBinding removedBinding)
protected final void adjustInfoForAddedBinding(JoinPointInfo info)
public abstract void addClassMetaData(ClassMetaDataBinding data)
public abstract void removeClassMetaData(ClassMetaDataBinding data)
public Object getPerVMAspect(AspectDefinition def)
public void addPerInstanceAspect(AspectDefinition def)
public void removePerInstanceAspect(AspectDefinition def)
public Set<AspectDefinition> getPerInstanceAspectDefinitions()
public void addPerInstanceJoinpointAspect(Joinpoint joinpoint, AspectDefinition def)
public void removePerInstanceJoinpointAspect(AspectDefinition def)
public Map<AspectDefinition,Set<Joinpoint>> getPerInstanceJoinpointAspectDefinitions()
public Object getPerClassAspect(AspectDefinition def)
public Object getPerClassAspect(String def)
public void addPerClassAspect(AspectDefinition def)
public void removePerClassAspect(AspectDefinition def)
public Interceptor getAdviceInterceptor(AspectDefinition def, String adviceName, Joinpoint joinpoint)
public void addAdviceInterceptor(AspectDefinition def, String adviceName, Interceptor interceptor, Joinpoint joinpoint)
protected void createInterceptorChain(InterceptorFactory[] factories, ArrayList<Interceptor> newinterceptors, Joinpoint joinpoint)
protected void resolveMethodPointcut(AdviceBinding binding)
protected void updateMethodPointcutAfterRemove(AdviceBinding binding)
protected void updateFieldPointcutAfterRemove(FieldInfo[] fieldInfos, AdviceBinding binding, boolean write)
protected void updateFieldPointcutAfterRemove(FieldInfo fieldInfo, int i, boolean write)
protected void updateConstructorPointcutAfterRemove(AdviceBinding binding)
protected void updateConstructionPointcutAfterRemove(AdviceBinding binding)
protected void lockWriteChain(MethodInterceptors methodInterceptors)
protected void unlockWriteChain(MethodInterceptors methodInterceptors)
protected void resetChain(MethodInterceptors methodInterceptors)
protected void resetChainKeepInterceptors(MethodInterceptors methodInterceptors)
protected void finalizeMethodChain()
public InvocationResponse dynamicInvoke(Object target, Invocation invocation) throws Throwable
Throwable
public Class getClazz()
public ClassLoader getClassLoader()
public static String getSimpleName(Class<?> clazz)
protected void initializeConstructorChain()
protected void initializeConstructionChain()
protected void finalizeChain(JoinPointInfo[] infos)
protected void lockWriteChain(JoinPointInfo[] infos)
protected void unlockWriteChain(JoinPointInfo[] infos)
protected void resetChain(JoinPointInfo[] infos)
protected void resetChainKeepInterceptors(JoinPointInfo[] infos)
protected void resolveConstructorPointcut(AdviceBinding binding)
protected void resolveConstructionPointcut(AdviceBinding binding)
protected void populateInterceptorsFromInfos()
protected void pointcutResolved(JoinPointInfo info, AdviceBinding binding, Joinpoint joinpoint)
public boolean chainOverridingForInheritedMethods()
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>
protected void setChainOverridingForInheritedMethods(boolean overriding)
overriding
- the new value of chainOverridingForInheritedMethodschainOverridingForInheritedMethods()
public void cleanup()
protected void initInterfaceIntroductionsList()
protected void initClassMetaDataBindingsList()
protected void initPerInstanceAspectDefinitionsSet()
protected void initPerInstanceJoinpointAspectDefinitionsMap()
protected void initAdvisedMethodsMap()
public boolean hasSameMethodAspectLength(Advisor other)
public boolean hasSameConstructorAspectLength(Advisor other)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |