public class AspectManager extends Object implements org.jboss.util.loading.Translator
Modifier and Type | Field and Description |
---|---|
protected WeakHashMap<Class<?>,WeakReference<Advisor>> |
advisors
Advisors registered with this manager/domain
|
protected LinkedHashMap<String,AnnotationIntroduction> |
annotationIntroductions |
protected LinkedHashMap<String,AnnotationIntroduction> |
annotationOverrides |
protected LinkedHashMap<String,ArrayBinding> |
arrayBindings |
protected LinkedHashMap<String,ArrayReplacement> |
arrayReplacements |
protected ConcurrentHashMap<String,AspectDefinition> |
aspectDefinitions |
protected ClassifiedBindingAndPointcutCollection |
bindingCollection |
protected LinkedHashMap<String,AdviceBinding> |
bindings
Deprecated.
|
protected ConcurrentHashMap<String,CFlowStack> |
cflowStacks |
static ClassLoaderValidation |
classLoaderValidator |
protected LinkedHashMap<String,ClassMetaDataBinding> |
classMetaData |
protected HashMap<String,ClassMetaDataLoader> |
classMetaDataLoaders |
protected HashMap<String,DomainDefinition> |
containers |
static boolean |
debugClasses |
protected HashMap<String,DeclareDef> |
declares |
protected ConcurrentHashMap<String,DynamicCFlowDefinition> |
dynamicCFlows |
protected DynamicAOPStrategy |
dynamicStrategy |
protected ArrayList<String> |
exclude
class name prefixes to explicitly exclude unless contained in include.
|
protected ArrayList<String> |
ignore
A set of wildcard enabled classnames that will be ignored no matter if they have been included.
|
protected ClassExpression[] |
ignoreExpressions
ClassExpressions built from ignore.
|
protected ArrayList<String> |
include
class name prefixes to explicitly include, this overrides whatever was set in exclude.
|
protected List<String> |
includeInvisibleAnnotations
A set of annotation names that will be included even though they are invisible.
|
protected static Map<ClassLoader,InterceptionMarkers> |
interceptionMarkers |
protected HashMap<String,InterceptorFactory> |
interceptorFactories |
protected HashMap<String,AdviceStack> |
interceptorStacks |
protected LinkedHashMap<String,InterfaceIntroduction> |
interfaceIntroductions |
LifecycleManager |
lifecycleManager |
protected static AOPLock |
lock
This lock synchronizes weaving process with operations that change collections
read during weaving.
|
static boolean |
maintainAdvisorMethodInterceptors
Whether or not we should maintain the deprecated Advisor.methodInterceptors field
This is required in jboss 4.x for backwards compatibility with EJB 3
See JBAOP-517
|
protected static AspectManager |
manager |
static AspectNotificationHandler |
notificationHandler
This is a callback object that receives events about
new pointcuts, interceptors and metadata.
|
static boolean |
optimize |
protected ConcurrentHashMap<String,Object> |
perVMAspects |
protected LinkedHashMap<String,PrecedenceDef> |
precedenceDefs |
protected PrecedenceDefEntry[] |
sortedPrecedenceDefEntries |
protected org.jboss.util.collection.WeakValueHashMap<String,Domain> |
subDomainsByName
A map of domains by name
|
protected WeakHashMap<Class<?>,WeakReference<Domain>> |
subDomainsPerClass
A map of domains by class, maintaned by the top level AspectManager
|
protected int |
subscribedDomainQueueRef |
protected WeakHashMap<Domain,Object> |
subscribedSubDomains
Each domain may have sub domains interested in changes happening in this manager/domain
|
protected WeakHashMap<Domain,Object> |
subscribedSubDomainsQueue
A queue for adding new subscribed subdomains to
|
static boolean |
suppressReferenceErrors
Suppress when a class cannot be found that a class references
This may happen if code in a class references something and the
class is not in the classpath.
|
static boolean |
suppressTransformationErrors |
protected LinkedHashMap<String,Typedef> |
typedefs |
static boolean |
verbose
logging switch.
|
protected WeavingStrategy |
weavingStrategy |
Constructor and Description |
---|
AspectManager()
Called by subclasses
|
Modifier and Type | Method and Description |
---|---|
void |
addAdviceStack(AdviceStack stack)
Add a referencable InterceptorStack( <stack> )
|
protected void |
addAdvisorToClassMetaDataBinding(ClassMetaDataBinding meta,
Class<?> clazz,
Advisor advisor,
Class<?> advisedClass) |
void |
addAnnotationIntroduction(AnnotationIntroduction pointcut)
Register an annotation introduction
|
void |
addAnnotationOverride(AnnotationIntroduction pointcut)
Register an annotation introduction
|
void |
addArrayBinding(ArrayBinding binding)
Register an introduction pointcut
|
void |
addArrayReplacement(ArrayReplacement pointcut)
Register an introduction pointcut
|
void |
addAspectDefinition(AspectDefinition def) |
void |
addBinding(AdviceBinding binding)
Add an interceptor pointcut with a given name
|
void |
addCFlowStack(CFlowStack stack) |
void |
addClassMetaData(ClassMetaDataBinding meta) |
void |
addClassMetaDataLoader(String group,
ClassMetaDataLoader loader)
Every <class-metadata> tag corresponds to
a ClassMetaDataLoader.
|
void |
addContainer(DomainDefinition def) |
void |
addDeclare(DeclareDef declare) |
void |
addDynamicCFlow(String name,
DynamicCFlowDefinition cflow) |
void |
addInterceptorFactory(String name,
InterceptorFactory factory)
Add an interceptor factory that can be referenced by name.
|
void |
addInterfaceIntroduction(InterfaceIntroduction pointcut)
Register an introduction pointcut
|
void |
addLifecycleBinding(LifecycleCallbackBinding lifecycleBinding) |
void |
addLifecycleDefinition(AspectDefinition def) |
void |
addPointcut(Pointcut pointcut)
Add an interceptor pointcut with a given name
|
void |
addPrecedence(PrecedenceDef precedenceDef) |
protected void |
addSubDomainByName(Domain domain) |
void |
addSubDomainPerClass(Class<?> clazz,
Domain domain) |
void |
addTypedef(Typedef def) |
protected void |
applyInterfaceIntroductions(Advisor advisor,
Class<?> clazz) |
protected void |
applyInterfaceIntroductions(ClassAdvisor advisor,
javassist.CtClass clazz) |
protected void |
attachMetaData(Advisor advisor,
Class<?> clazz) |
protected boolean |
attachMetaData(ClassAdvisor advisor,
javassist.CtClass clazz,
boolean addAdvisor) |
static void |
clearUnregisteredClassLoaders()
This method will check to see if a register classloader has been undeployed (as in JBoss)
|
protected ClassifiedBindingAndPointcutCollection |
createBindingCollection()
Creates the binding collection
|
protected Object |
createPerVmAspect(String def,
AspectDefinition adef,
ClassLoader scopedClassLoader) |
boolean |
excludeClass(String classname) |
Advisor |
findAdvisor(Class<?> clazz) |
ClassMetaDataLoader |
findClassMetaDataLoader(String group)
Every <class-metadata> tag corresponds to
a ClassMetaDataLoader.
|
javassist.ClassPool |
findClassPool(Class<?> clazz) |
javassist.ClassPool |
findClassPool(ClassLoader cl) |
AspectManager |
findManagerByName(String fqn)
Takes a string of the form /sub1/sub2/sub3 of subdomains by name, where the leading "/" is the main AspectManager.
|
protected void |
forceResortPrecedenceDefs() |
AdviceStack |
getAdviceStack(String name)
Find an interceptor stack referenced by name ( <stack> )
|
ClassAdvisor |
getAdvisor(Class<?> clazz)
This method is called by the aspectized class when it is loaded
This causes all initialization of interceptors for ClassAdvisor
|
Advisor |
getAdvisor(String name) |
ClassAdvisor |
getAdvisorIfAdvised(Class<?> clazz) |
Map<Class<?>,WeakReference<Advisor>> |
getAdvisors() |
List<AnnotationIntroduction> |
getAnnotationIntroductions() |
List<AnnotationIntroduction> |
getAnnotationOverrides() |
Advisor |
getAnyAdvisorIfAdvised(Class<?> clazz)
Take into account that an advisor may be a container
|
ArrayBinding |
getArrayBinding(String name)
Retrieve an introduction pointcut of a certain name
|
ArrayReplacement |
getArrayReplacement(String name)
Retrieve an introduction pointcut of a certain name
|
Map<String,ArrayReplacement> |
getArrayReplacements() |
AspectDefinition |
getAspectDefinition(String name) |
Map<String,AspectDefinition> |
getAspectDefinitions() |
ClassifiedBindingAndPointcutCollection |
getBindingCollection()
Returns the classified binding collection.
|
LinkedHashMap<String,AdviceBinding> |
getBindings()
Returns the binding map.
|
CFlowStack |
getCFlowStack(String name) |
Map<String,CFlowStack> |
getCflowStacks() |
static AOPClassLoaderScopingPolicy |
getClassLoaderScopingPolicy()
Get the classLoaderScopingPolicy.
|
Map<String,ClassMetaDataBinding> |
getClassMetaData() |
Map<String,ClassMetaDataLoader> |
getClassMetaDataLoaders() |
static org.jboss.classpool.scoped.ScopedClassPoolFactory |
getClassPoolFactory() |
DomainDefinition |
getContainer(String name) |
Iterator<DeclareDef> |
getDeclares() |
DynamicAOPStrategy |
getDynamicAOPStrategy()
Returns the dynamic aop strategy to be used.
|
DynamicCFlow |
getDynamicCFlow(String name)
Deprecated.
|
DynamicCFlow |
getDynamicCFlow(String name,
ClassLoader cl) |
Map<String,DynamicCFlowDefinition> |
getDynamicCFlows() |
ArrayList<String> |
getExclude() |
ArrayList<String> |
getIgnore() |
ClassExpression[] |
getIgnoreExpressions() |
ArrayList<String> |
getInclude() |
List<String> |
getIncludedInvisibleAnnotations() |
InterceptionMarkers |
getInterceptionMarkers(ClassLoader loader) |
Map<String,InterceptorFactory> |
getInterceptorFactories() |
InterceptorFactory |
getInterceptorFactory(String name)
Find the interceptor factory that can be referenced by name.
|
Map<String,AdviceStack> |
getInterceptorStacks() |
InterfaceIntroduction |
getInterfaceIntroduction(String name)
Retrieve an introduction pointcut of a certain name
|
Map<String,InterfaceIntroduction> |
getInterfaceIntroductions() |
Map<String,LifecycleCallbackBinding> |
getLifecycleBindings() |
String |
getManagerFQN() |
Object |
getPerVMAspect(AspectDefinition def) |
Object |
getPerVMAspect(String def) |
Map<String,Object> |
getPerVMAspects() |
Pointcut |
getPointcut(String name)
Find a pointcut of with a given name
|
LinkedHashMap<String,PointcutInfo> |
getPointcutInfos() |
LinkedHashMap<String,Pointcut> |
getPointcuts() |
LinkedHashMap<String,PrecedenceDef> |
getPrecedenceDefs() |
static boolean |
getPrune() |
protected javassist.ClassPool |
getRegisteredClassPool(ClassLoader cl) |
static Map<ClassLoader,org.jboss.classpool.scoped.ScopedClassPool> |
getRegisteredCLs() |
PrecedenceDefEntry[] |
getSortedPrecedenceDefEntries() |
protected Map<Class<?>,WeakReference<Domain>> |
getSubDomainsPerClass() |
Map<Domain,Object> |
getSubscribedSubDomains() |
ClassAdvisor |
getTempClassAdvisor(javassist.CtClass clazz) |
Advisor |
getTempClassAdvisorIfNotExist(Class<?> clazz) |
static AspectManager |
getTopLevelAspectManager()
Get the top level aspect manager
|
Typedef |
getTypedef(String name) |
Map<String,Typedef> |
getTypedefs() |
static boolean |
hasTransformationStarted() |
boolean |
ignoreClass(String classname) |
boolean |
includeClass(String classname) |
protected void |
initAnnotationIntroductionsMap() |
protected void |
initAnnotationOverridesMap() |
protected void |
initArrayBindingMap() |
protected void |
initArrayReplacementMap() |
protected void |
initAspectDefintitionsMap() |
protected void |
initCflowStacksMap() |
protected void |
initClassMetaDataLoadersMap() |
protected void |
initClassMetaDataMap() |
protected void |
initContainersMap() |
protected void |
initDeclaresMap() |
protected void |
initDynamicCflowsMap() |
void |
initialiseClassAdvisor(Class<?> clazz,
ClassAdvisor advisor) |
protected void |
initInerceptorStacksMap() |
protected void |
initInterceptorFactoriesMap() |
protected void |
initInterfaceIntroductionsMap() |
protected void |
initPerVMAspectsMap() |
protected void |
initPrecedenceDefsMap() |
protected void |
initSubDomainsByNameMap() |
protected void |
initSubscribedSubDomainsMap() |
protected void |
initSubscribedSubDomainsQueueMap() |
protected void |
initTypedefsMap() |
static AspectManager |
instance() |
static AspectManager |
instance(Class<?> wovenClass) |
static AspectManager |
instance(ClassLoader loadingClassLoader)
Get the aspect manager for a classloader
|
protected AspectDefinition |
internalRemoveAspectDefintion(String name) |
void |
internalRemoveClassMetaData(String name) |
boolean |
isAdvisorRegistered(Advisor advisor)
Checks to see if an Advisor represents a class that should have been undeployed.
|
boolean |
isCall() |
boolean |
isConstruction() |
boolean |
isExecution() |
boolean |
isGet() |
boolean |
isNonAdvisableClassName(String classname) |
boolean |
isSet() |
boolean |
isWithin() |
boolean |
isWithincode() |
protected void |
registerClass(Class<?> clazz) |
javassist.ClassPool |
registerClassLoader(ClassLoader ucl) |
void |
removeAnnotationIntroduction(AnnotationIntroduction pointcut)
remove an annotation pointcut
|
void |
removeAnnotationOverride(AnnotationIntroduction pointcut)
remove an annotation pointcut
|
void |
removeArrayBinding(String name)
remove an introduction pointcut of a certain name
|
void |
removeArrayReplacement(String name)
remove an introduction pointcut of a certain name
|
void |
removeAspectDefinition(String name) |
void |
removeBinding(String name)
Remove an interceptor pointcut with a given name
|
void |
removeBindings(ArrayList<String> binds) |
void |
removeCFlowStack(String name) |
void |
removeClassMetaData(String name) |
void |
removeClassMetaDataLoader(String group)
Remove a loader for a given group
|
void |
removeContainer(String name) |
void |
removeDeclare(String name) |
void |
removeDynamicCFlow(String name) |
void |
removeInterceptorFactory(String name)
Remove an interceptor factory that can be referenced by name.
|
void |
removeInterceptorStack(String name)
Remove a referencable InterceptorStack( <stack> )
|
void |
removeInterfaceIntroduction(String name)
remove an introduction pointcut of a certain name
|
void |
removeLifecycleBinding(String name) |
void |
removeLifecycleDefinition(String name) |
void |
removePointcut(String name)
Remove an interceptor pointcut with a given name
|
void |
removePrecedence(String name) |
void |
removeTypedef(String name) |
static void |
setClassLoaderScopingPolicy(AOPClassLoaderScopingPolicy classLoaderScopingPolicy)
Set the classLoaderScopingPolicy.
|
static void |
setClassPoolFactory(org.jboss.classpool.scoped.ScopedClassPoolFactory factory) |
void |
setDynamicAOPStrategy(DynamicAOPStrategy strategy)
Sets the dynamic aop strategy to be used.
|
void |
setExclude(ArrayList<String> exclude) |
void |
setIgnore(ArrayList<String> ignore) |
void |
setInclude(ArrayList<String> include) |
void |
setIncludedInvisibleAnnotations(List<String> ia) |
static void |
setPrune(boolean prune) |
void |
subscribeSubDomain(Domain domain)
Add subscriber to queue
|
byte[] |
transform(ClassLoader loader,
String className,
Class classBeingRedefined,
ProtectionDomain protectionDomain,
byte[] classfileBuffer)
This is the hook for ClassLoaders that want to instrument their classes with AOP
This would be called during a findClass or loadClass call.
|
byte[] |
translate(String className,
ClassLoader loader)
This is to be backward compatible with JBoss 3.2.3 Translator interface
|
byte[] |
translate(String className,
ClassLoader loader,
byte[] classfileBuffer)
This is to be backward compatible with JBoss 3.2.3 Translator interface
TODO: stalep, added a synchronized block for the entire method to prevent
a deadlock.
|
void |
unregisterClassLoader(ClassLoader cl) |
void |
unsubscribeSubDomain(Domain domain) |
void |
updateAdvisorsForAddedAnnotationOverride(AnnotationIntroduction introduction) |
protected void |
updateAdvisorsForAddedBinding(AdviceBinding binding,
Set<Advisor> handledAdvisors) |
protected void |
updateAdvisorsForAddedClassMetaData(ClassMetaDataBinding meta) |
protected final WeakHashMap<Class<?>,WeakReference<Advisor>> advisors
protected volatile WeakHashMap<Class<?>,WeakReference<Domain>> subDomainsPerClass
protected volatile org.jboss.util.collection.WeakValueHashMap<String,Domain> subDomainsByName
protected volatile WeakHashMap<Domain,Object> subscribedSubDomains
protected volatile WeakHashMap<Domain,Object> subscribedSubDomainsQueue
protected int subscribedDomainQueueRef
protected volatile LinkedHashMap<String,InterfaceIntroduction> interfaceIntroductions
protected volatile LinkedHashMap<String,ArrayReplacement> arrayReplacements
protected volatile LinkedHashMap<String,ArrayBinding> arrayBindings
protected volatile LinkedHashMap<String,AnnotationIntroduction> annotationIntroductions
protected volatile LinkedHashMap<String,AnnotationIntroduction> annotationOverrides
@Deprecated protected volatile LinkedHashMap<String,AdviceBinding> bindings
protected final ClassifiedBindingAndPointcutCollection bindingCollection
protected volatile LinkedHashMap<String,Typedef> typedefs
protected volatile HashMap<String,InterceptorFactory> interceptorFactories
protected volatile HashMap<String,ClassMetaDataLoader> classMetaDataLoaders
protected volatile HashMap<String,AdviceStack> interceptorStacks
protected volatile HashMap<String,DeclareDef> declares
protected volatile ConcurrentHashMap<String,CFlowStack> cflowStacks
protected volatile ConcurrentHashMap<String,DynamicCFlowDefinition> dynamicCFlows
protected volatile ConcurrentHashMap<String,AspectDefinition> aspectDefinitions
protected volatile ConcurrentHashMap<String,Object> perVMAspects
protected volatile ArrayList<String> exclude
protected volatile ArrayList<String> include
protected volatile ArrayList<String> ignore
protected List<String> includeInvisibleAnnotations
protected ClassExpression[] ignoreExpressions
protected static AOPLock lock
protected volatile LinkedHashMap<String,ClassMetaDataBinding> classMetaData
protected volatile HashMap<String,DomainDefinition> containers
protected volatile LinkedHashMap<String,PrecedenceDef> precedenceDefs
protected PrecedenceDefEntry[] sortedPrecedenceDefEntries
protected WeavingStrategy weavingStrategy
protected DynamicAOPStrategy dynamicStrategy
protected static Map<ClassLoader,InterceptionMarkers> interceptionMarkers
protected static AspectManager manager
public static boolean optimize
public static boolean debugClasses
public static ClassLoaderValidation classLoaderValidator
public LifecycleManager lifecycleManager
public static boolean verbose
public static boolean maintainAdvisorMethodInterceptors
public static AspectNotificationHandler notificationHandler
public static boolean suppressTransformationErrors
public static boolean suppressReferenceErrors
public static AspectManager getTopLevelAspectManager()
public static AspectManager instance()
public static AspectManager instance(Class<?> wovenClass)
public static AspectManager instance(ClassLoader loadingClassLoader)
loadingClassLoader
- the classloaderpublic static AOPClassLoaderScopingPolicy getClassLoaderScopingPolicy()
public static void setClassLoaderScopingPolicy(AOPClassLoaderScopingPolicy classLoaderScopingPolicy)
classLoaderScopingPolicy
- the classLoaderScopingPolicy.public InterceptionMarkers getInterceptionMarkers(ClassLoader loader)
public LinkedHashMap<String,Pointcut> getPointcuts()
public LinkedHashMap<String,PointcutInfo> getPointcutInfos()
public CFlowStack getCFlowStack(String name)
public void addCFlowStack(CFlowStack stack)
public void removeCFlowStack(String name)
@Deprecated public DynamicCFlow getDynamicCFlow(String name)
public DynamicCFlow getDynamicCFlow(String name, ClassLoader cl)
public void addDynamicCFlow(String name, DynamicCFlowDefinition cflow)
public void removeDynamicCFlow(String name)
protected ClassifiedBindingAndPointcutCollection createBindingCollection()
ClassifiedBindingAndPointcutCollection
Domain#ini
public ClassMetaDataLoader findClassMetaDataLoader(String group)
public void addClassMetaDataLoader(String group, ClassMetaDataLoader loader)
public void removeClassMetaDataLoader(String group)
public Map<Class<?>,WeakReference<Advisor>> getAdvisors()
public LinkedHashMap<String,AdviceBinding> getBindings()
The returned map must be used for read purposes only. To edit the
binding collection, call addBinding(AdviceBinding)
and
removeBinding(String)
instead.
public ClassifiedBindingAndPointcutCollection getBindingCollection()
Attention: this collection is not supposed to be edited. Hence, only get methods can be called by clients.
protected Map<Class<?>,WeakReference<Domain>> getSubDomainsPerClass()
public AspectManager findManagerByName(String fqn)
The
- FQN of the domainprotected void addSubDomainByName(Domain domain)
public String getManagerFQN()
public ClassAdvisor getAdvisorIfAdvised(Class<?> clazz)
public Advisor getAnyAdvisorIfAdvised(Class<?> clazz)
public ClassAdvisor getAdvisor(Class<?> clazz)
clazz
- public void initialiseClassAdvisor(Class<?> clazz, ClassAdvisor advisor)
public static Map<ClassLoader,org.jboss.classpool.scoped.ScopedClassPool> getRegisteredCLs()
public static void clearUnregisteredClassLoaders()
public boolean isAdvisorRegistered(Advisor advisor)
advisor
- public javassist.ClassPool findClassPool(ClassLoader cl)
public javassist.ClassPool findClassPool(Class<?> clazz)
protected javassist.ClassPool getRegisteredClassPool(ClassLoader cl)
public javassist.ClassPool registerClassLoader(ClassLoader ucl)
protected void registerClass(Class<?> clazz)
public void unregisterClassLoader(ClassLoader cl)
unregisterClassLoader
in interface org.jboss.util.loading.Translator
public ClassExpression[] getIgnoreExpressions()
public boolean ignoreClass(String classname)
public boolean includeClass(String classname)
public boolean excludeClass(String classname)
public static boolean getPrune()
public static void setPrune(boolean prune)
public static void setClassPoolFactory(org.jboss.classpool.scoped.ScopedClassPoolFactory factory)
public static org.jboss.classpool.scoped.ScopedClassPoolFactory getClassPoolFactory()
public boolean isNonAdvisableClassName(String classname)
public byte[] transform(ClassLoader loader, String className, Class classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws Exception
transform
in interface org.jboss.util.loading.Translator
Exception
public byte[] translate(String className, ClassLoader loader) throws Exception
className
- loader
- Exception
public byte[] translate(String className, ClassLoader loader, byte[] classfileBuffer) throws Exception
className
- loader
- Exception
public void addInterceptorFactory(String name, InterceptorFactory factory)
public void removeInterceptorFactory(String name)
public Map<String,InterceptorFactory> getInterceptorFactories()
public InterceptorFactory getInterceptorFactory(String name)
public void addPrecedence(PrecedenceDef precedenceDef)
public void removePrecedence(String name)
protected void forceResortPrecedenceDefs()
public LinkedHashMap<String,PrecedenceDef> getPrecedenceDefs()
public PrecedenceDefEntry[] getSortedPrecedenceDefEntries()
public void addAdviceStack(AdviceStack stack)
public void removeInterceptorStack(String name)
public AdviceStack getAdviceStack(String name)
protected boolean attachMetaData(ClassAdvisor advisor, javassist.CtClass clazz, boolean addAdvisor) throws Exception
Exception
public ClassAdvisor getTempClassAdvisor(javassist.CtClass clazz) throws Exception
Exception
public DomainDefinition getContainer(String name)
public void addContainer(DomainDefinition def)
public void removeContainer(String name)
public void removePointcut(String name)
public void addPointcut(Pointcut pointcut)
public boolean isExecution()
public boolean isConstruction()
public boolean isCall()
public boolean isWithin()
public boolean isWithincode()
public boolean isGet()
public boolean isSet()
public void removeBinding(String name)
public void addBinding(AdviceBinding binding)
protected void updateAdvisorsForAddedBinding(AdviceBinding binding, Set<Advisor> handledAdvisors)
public void removeClassMetaData(String name)
public void internalRemoveClassMetaData(String name)
public void addClassMetaData(ClassMetaDataBinding meta)
protected void updateAdvisorsForAddedClassMetaData(ClassMetaDataBinding meta)
protected void addAdvisorToClassMetaDataBinding(ClassMetaDataBinding meta, Class<?> clazz, Advisor advisor, Class<?> advisedClass)
public InterfaceIntroduction getInterfaceIntroduction(String name)
public void addInterfaceIntroduction(InterfaceIntroduction pointcut)
public void removeInterfaceIntroduction(String name)
public ArrayReplacement getArrayReplacement(String name)
public void addArrayReplacement(ArrayReplacement pointcut)
public void removeArrayReplacement(String name)
public ArrayBinding getArrayBinding(String name)
public void addArrayBinding(ArrayBinding binding)
public void removeArrayBinding(String name)
public void addAnnotationIntroduction(AnnotationIntroduction pointcut)
public void removeAnnotationIntroduction(AnnotationIntroduction pointcut)
public List<AnnotationIntroduction> getAnnotationIntroductions()
public void addDeclare(DeclareDef declare)
public void removeDeclare(String name)
public Iterator<DeclareDef> getDeclares()
protected void applyInterfaceIntroductions(Advisor advisor, Class<?> clazz)
protected void applyInterfaceIntroductions(ClassAdvisor advisor, javassist.CtClass clazz) throws Exception
Exception
public void addAnnotationOverride(AnnotationIntroduction pointcut)
public void updateAdvisorsForAddedAnnotationOverride(AnnotationIntroduction introduction)
public void removeAnnotationOverride(AnnotationIntroduction pointcut)
public List<AnnotationIntroduction> getAnnotationOverrides()
public Object getPerVMAspect(AspectDefinition def)
protected Object createPerVmAspect(String def, AspectDefinition adef, ClassLoader scopedClassLoader)
public void addAspectDefinition(AspectDefinition def)
public void removeAspectDefinition(String name)
protected AspectDefinition internalRemoveAspectDefintion(String name)
public Map<String,AspectDefinition> getAspectDefinitions()
public AspectDefinition getAspectDefinition(String name)
public void removeTypedef(String name)
public Map<String,InterfaceIntroduction> getInterfaceIntroductions()
public Map<String,ArrayReplacement> getArrayReplacements()
public Map<String,AdviceStack> getInterceptorStacks()
public Map<String,ClassMetaDataLoader> getClassMetaDataLoaders()
public Map<String,CFlowStack> getCflowStacks()
public Map<String,DynamicCFlowDefinition> getDynamicCFlows()
public Map<String,ClassMetaDataBinding> getClassMetaData()
public DynamicAOPStrategy getDynamicAOPStrategy()
public void setDynamicAOPStrategy(DynamicAOPStrategy strategy)
strategy
- the new dynamic aop strategy.public void subscribeSubDomain(Domain domain)
copySubDomainsFromQueue(boolean)
public void unsubscribeSubDomain(Domain domain)
public void addLifecycleDefinition(AspectDefinition def)
public void removeLifecycleDefinition(String name)
public void addLifecycleBinding(LifecycleCallbackBinding lifecycleBinding)
public Map<String,LifecycleCallbackBinding> getLifecycleBindings()
public void removeLifecycleBinding(String name)
public static boolean hasTransformationStarted()
protected void initSubDomainsByNameMap()
protected void initSubscribedSubDomainsMap()
protected void initSubscribedSubDomainsQueueMap()
protected void initInterfaceIntroductionsMap()
protected void initArrayReplacementMap()
protected void initArrayBindingMap()
protected void initAnnotationIntroductionsMap()
protected void initAnnotationOverridesMap()
protected void initTypedefsMap()
protected void initInterceptorFactoriesMap()
protected void initClassMetaDataLoadersMap()
protected void initInerceptorStacksMap()
protected void initDeclaresMap()
protected void initCflowStacksMap()
protected void initDynamicCflowsMap()
protected void initAspectDefintitionsMap()
protected void initPerVMAspectsMap()
protected void initClassMetaDataMap()
protected void initContainersMap()
protected void initPrecedenceDefsMap()
Copyright © 2013 JBoss, a division of Red Hat, Inc.. All Rights Reserved.