org.jboss.aop
Class Domain
java.lang.Object
org.jboss.aop.AspectManager
org.jboss.aop.Domain
- All Implemented Interfaces:
- org.jboss.util.loading.Translator
- Direct Known Subclasses:
- GeneratedAdvisorDomain, InstanceDomain
public class Domain
- extends AspectManager
Comment
- Version:
- $Revision: 87258 $
- Author:
- Bill Burke, adrian@jboss.org
| Fields inherited from class org.jboss.aop.AspectManager |
advisors, annotationIntroductions, annotationOverrides, arrayBindings, arrayReplacements, aspectDefinitions, bindingCollection, bindings, cflowStacks, classLoaderValidator, classMetaData, classMetaDataLoaders, containers, debugClasses, declares, dynamicCFlows, dynamicStrategy, exclude, ignore, ignoreExpressions, include, includeInvisibleAnnotations, interceptionMarkers, interceptorFactories, interceptorStacks, interfaceIntroductions, lifecycleManager, lock, maintainAdvisorMethodInterceptors, manager, notificationHandler, optimize, perVMAspects, precedenceDefs, sortedPrecedenceDefEntries, subDomainsByName, subDomainsPerClass, subscribedDomainQueueRef, subscribedSubDomains, subscribedSubDomainsQueue, suppressReferenceErrors, suppressTransformationErrors, typedefs, verbose, weavingStrategy |
|
Method Summary |
void |
addAnnotationIntroduction(AnnotationIntroduction pointcut)
Register an annotation introduction |
void |
addAnnotationOverride(AnnotationIntroduction pointcut)
Register an annotation introduction |
void |
addBinding(AdviceBinding binding)
Add an interceptor pointcut with a given name |
void |
addClassMetaData(ClassMetaDataBinding meta)
|
void |
addInterfaceIntroduction(InterfaceIntroduction pointcut)
Register an introduction pointcut |
void |
addPointcut(Pointcut pointcut)
Add an interceptor pointcut with a given name |
void |
addPrecedence(PrecedenceDef precedenceDef)
|
void |
addTypedef(Typedef def)
|
void |
attachMetaData(Advisor advisor,
Class<?> clazz)
|
protected ClassifiedBindingAndPointcutCollection |
createBindingCollection()
Creates the binding collection to be used as the collection by this domain |
ClassMetaDataLoader |
findClassMetaDataLoader(String group)
Every <class-metadata> tag corresponds to
a ClassMetaDataLoader. |
AdviceStack |
getAdviceStack(String name)
Find an interceptor stack referenced by name ( <stack> ) |
List<AnnotationIntroduction> |
getAnnotationIntroductions()
|
List<AnnotationIntroduction> |
getAnnotationOverrides()
|
Map<String,ArrayReplacement> |
getArrayReplacements()
|
AspectDefinition |
getAspectDefinition(String name)
|
LinkedHashMap<String,AdviceBinding> |
getBindings()
Returns the binding map. |
CFlowStack |
getCFlowStack(String name)
|
Map<String,CFlowStack> |
getCflowStacks()
|
Map<String,ClassMetaDataBinding> |
getClassMetaData()
|
Map<String,ClassMetaDataLoader> |
getClassMetaDataLoaders()
|
DomainDefinition |
getContainer(String name)
|
String |
getDomainName()
|
static String |
getDomainName(Class<?> clazz,
boolean forInstance)
|
DynamicAOPStrategy |
getDynamicAOPStrategy()
Returns the dynamic aop strategy to be used. |
DynamicCFlow |
getDynamicCFlow(String name,
ClassLoader cl)
|
Map<String,DynamicCFlowDefinition> |
getDynamicCFlows()
|
ArrayList<String> |
getExclude()
Only set on a per vm basis |
ArrayList<String> |
getIgnore()
Only set on a per vm basis |
ClassExpression[] |
getIgnoreExpressions()
Only set on a per vm basis |
ArrayList<String> |
getInclude()
Only set on a per vm basis |
List<String> |
getIncludedInvisibleAnnotations()
Only set on a per vm basis |
InterceptionMarkers |
getInterceptionMarkers(ClassLoader loader)
|
InterceptorFactory |
getInterceptorFactory(String name)
Find the interceptor factory that can be referenced by name. |
Map<String,AdviceStack> |
getInterceptorStacks()
|
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()
|
protected Map<Class<?>,WeakReference<Domain>> |
getSubDomainsPerClass()
Managed by the top-level aspect manager |
Typedef |
getTypedef(String name)
|
Map<String,Typedef> |
getTypedefs()
|
boolean |
hasOwnAnnotationIntroductions()
|
boolean |
hasOwnAnnotationOverrides()
|
boolean |
hasOwnBindings()
|
boolean |
hasOwnClassMetaData()
|
boolean |
hasOwnDataWithEffectOnAdvices()
|
boolean |
hasOwnInterfaceIntroductions()
|
boolean |
hasOwnPointcuts()
|
boolean |
hasOwnPrecedenceDefs()
|
boolean |
hasOwnTypedefs()
|
boolean |
isValid()
|
void |
removeAnnotationIntroduction(AnnotationIntroduction pointcut)
remove an annotation pointcut |
void |
removeAnnotationOverride(AnnotationIntroduction pointcut)
remove an annotation pointcut |
void |
removeBinding(String name)
Remove an interceptor pointcut with a given name |
void |
removeBindings(ArrayList<String> binds)
|
void |
removeClassMetaData(String name)
|
void |
removeInterfaceIntroduction(String name)
remove an introduction pointcut of a certain name |
void |
removePointcut(String name)
Remove an interceptor pointcut with a given name |
void |
removePrecedence(String name)
|
void |
removeTypedef(String name)
|
void |
setDynamicAOPStrategy(DynamicAOPStrategy strategy)
Sets the dynamic aop strategy to be used. |
void |
setInheritsBindings(boolean inheritBindings)
|
void |
setInheritsDeclarations(boolean inheritsDeclarations)
Inherits interceptor, aspect, advice stack definitions |
| Methods inherited from class org.jboss.aop.AspectManager |
addAdviceStack, addAdvisorToClassMetaDataBinding, addArrayBinding, addArrayReplacement, addAspectDefinition, addCFlowStack, addClassMetaDataLoader, addContainer, addDeclare, addDynamicCFlow, addInterceptorFactory, addLifecycleBinding, addLifecycleDefinition, addSubDomainByName, addSubDomainPerClass, applyInterfaceIntroductions, applyInterfaceIntroductions, attachMetaData, clearUnregisteredClassLoaders, createPerVmAspect, excludeClass, findAdvisor, findClassPool, findClassPool, findManagerByName, forceResortPrecedenceDefs, getAdvisor, getAdvisor, getAdvisorIfAdvised, getAdvisors, getAnyAdvisorIfAdvised, getArrayBinding, getArrayReplacement, getAspectDefinitions, getBindingCollection, getClassLoaderScopingPolicy, getClassPoolFactory, getDeclares, getDynamicCFlow, getInterceptorFactories, getInterfaceIntroduction, getPrune, getRegisteredClassPool, getRegisteredCLs, getSortedPrecedenceDefEntries, getSubscribedSubDomains, getTempClassAdvisor, getTempClassAdvisorIfNotExist, getTopLevelAspectManager, hasTransformationStarted, ignoreClass, includeClass, initAnnotationIntroductionsMap, initAnnotationOverridesMap, initArrayBindingMap, initArrayReplacementMap, initAspectDefintitionsMap, initCflowStacksMap, initClassMetaDataLoadersMap, initClassMetaDataMap, initContainersMap, initDeclaresMap, initDynamicCflowsMap, initialiseClassAdvisor, initInerceptorStacksMap, initInterceptorFactoriesMap, initInterfaceIntroductionsMap, initPerVMAspectsMap, initPrecedenceDefsMap, initSubDomainsByNameMap, initSubscribedSubDomainsMap, initSubscribedSubDomainsQueueMap, initTypedefsMap, instance, instance, internalRemoveAspectDefintion, internalRemoveClassMetaData, isAdvisorRegistered, isCall, isConstruction, isExecution, isGet, isNonAdvisableClassName, isSet, isWithin, isWithincode, registerClass, registerClassLoader, removeArrayBinding, removeArrayReplacement, removeAspectDefinition, removeCFlowStack, removeClassMetaDataLoader, removeContainer, removeDeclare, removeDynamicCFlow, removeInterceptorFactory, removeInterceptorStack, removeLifecycleBinding, removeLifecycleDefinition, setClassLoaderScopingPolicy, setClassPoolFactory, setExclude, setIgnore, setInclude, setIncludedInvisibleAnnotations, setPrune, subscribeSubDomain, transform, translate, translate, unregisterClassLoader, unsubscribeSubDomain, updateAdvisorsForAddedAnnotationOverride, updateAdvisorsForAddedBinding, updateAdvisorsForAddedClassMetaData |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
parent
protected AspectManager parent
parentFirst
protected boolean parentFirst
inheritsDeclarations
protected boolean inheritsDeclarations
inheritsBindings
protected boolean inheritsBindings
hasOwnPointcuts
protected boolean hasOwnPointcuts
hasOwnBindings
protected boolean hasOwnBindings
hasOwnAnnotationIntroductions
protected boolean hasOwnAnnotationIntroductions
hasOwnAnnotationOverrides
protected boolean hasOwnAnnotationOverrides
hasOwnInterfaceIntroductions
protected boolean hasOwnInterfaceIntroductions
hasOwnTypedefs
protected boolean hasOwnTypedefs
hasOwnPrecedenceDefs
protected boolean hasOwnPrecedenceDefs
hasOwnClassMetaData
protected boolean hasOwnClassMetaData
Domain
public Domain(AspectManager manager,
String name,
boolean parentFirst)
createBindingCollection
protected ClassifiedBindingAndPointcutCollection createBindingCollection()
- Creates the binding collection to be used as the collection by this domain
- Overrides:
createBindingCollection in class AspectManager
- Returns:
- a
DomainClassifiedBindingAndPointcutCollection - See Also:
Domain#ini
isValid
public boolean isValid()
getDomainName
public String getDomainName()
getManagerFQN
public String getManagerFQN()
- Overrides:
getManagerFQN in class AspectManager
getDomainName
public static String getDomainName(Class<?> clazz,
boolean forInstance)
setInheritsDeclarations
public void setInheritsDeclarations(boolean inheritsDeclarations)
- Inherits interceptor, aspect, advice stack definitions
- Parameters:
inheritsDeclarations -
setInheritsBindings
public void setInheritsBindings(boolean inheritBindings)
getBindings
public LinkedHashMap<String,AdviceBinding> getBindings()
- Description copied from class:
AspectManager
- Returns the binding map.
The returned map must be used for read purposes only. To edit the
binding collection, call AspectManager.addBinding(AdviceBinding) and
AspectManager.removeBinding(String) instead.
- Overrides:
getBindings in class AspectManager
- Returns:
- the map containing all advice bindings indexed by their names
hasOwnBindings
public boolean hasOwnBindings()
addBinding
public void addBinding(AdviceBinding binding)
- Description copied from class:
AspectManager
- Add an interceptor pointcut with a given name
- Overrides:
addBinding in class AspectManager
removeBinding
public void removeBinding(String name)
- Description copied from class:
AspectManager
- Remove an interceptor pointcut with a given name
- Overrides:
removeBinding in class AspectManager
removeBindings
public void removeBindings(ArrayList<String> binds)
- Overrides:
removeBindings in class AspectManager
getPointcuts
public LinkedHashMap<String,Pointcut> getPointcuts()
- Overrides:
getPointcuts in class AspectManager
hasOwnPointcuts
public boolean hasOwnPointcuts()
addPointcut
public void addPointcut(Pointcut pointcut)
- Description copied from class:
AspectManager
- Add an interceptor pointcut with a given name
- Overrides:
addPointcut in class AspectManager
removePointcut
public void removePointcut(String name)
- Description copied from class:
AspectManager
- Remove an interceptor pointcut with a given name
- Overrides:
removePointcut in class AspectManager
getPointcutInfos
public LinkedHashMap<String,PointcutInfo> getPointcutInfos()
- Overrides:
getPointcutInfos in class AspectManager
getAnnotationIntroductions
public List<AnnotationIntroduction> getAnnotationIntroductions()
- Overrides:
getAnnotationIntroductions in class AspectManager
getArrayReplacements
public Map<String,ArrayReplacement> getArrayReplacements()
- Overrides:
getArrayReplacements in class AspectManager
hasOwnAnnotationIntroductions
public boolean hasOwnAnnotationIntroductions()
addAnnotationIntroduction
public void addAnnotationIntroduction(AnnotationIntroduction pointcut)
- Description copied from class:
AspectManager
- Register an annotation introduction
- Overrides:
addAnnotationIntroduction in class AspectManager
removeAnnotationIntroduction
public void removeAnnotationIntroduction(AnnotationIntroduction pointcut)
- Description copied from class:
AspectManager
- remove an annotation pointcut
- Overrides:
removeAnnotationIntroduction in class AspectManager
getAnnotationOverrides
public List<AnnotationIntroduction> getAnnotationOverrides()
- Overrides:
getAnnotationOverrides in class AspectManager
hasOwnAnnotationOverrides
public boolean hasOwnAnnotationOverrides()
addAnnotationOverride
public void addAnnotationOverride(AnnotationIntroduction pointcut)
- Description copied from class:
AspectManager
- Register an annotation introduction
- Overrides:
addAnnotationOverride in class AspectManager
removeAnnotationOverride
public void removeAnnotationOverride(AnnotationIntroduction pointcut)
- Description copied from class:
AspectManager
- remove an annotation pointcut
- Overrides:
removeAnnotationOverride in class AspectManager
getInterfaceIntroductions
public Map<String,InterfaceIntroduction> getInterfaceIntroductions()
- Overrides:
getInterfaceIntroductions in class AspectManager
hasOwnInterfaceIntroductions
public boolean hasOwnInterfaceIntroductions()
addInterfaceIntroduction
public void addInterfaceIntroduction(InterfaceIntroduction pointcut)
- Description copied from class:
AspectManager
- Register an introduction pointcut
- Overrides:
addInterfaceIntroduction in class AspectManager
removeInterfaceIntroduction
public void removeInterfaceIntroduction(String name)
- Description copied from class:
AspectManager
- remove an introduction pointcut of a certain name
- Overrides:
removeInterfaceIntroduction in class AspectManager
getTypedefs
public Map<String,Typedef> getTypedefs()
- Overrides:
getTypedefs in class AspectManager
hasOwnTypedefs
public boolean hasOwnTypedefs()
addTypedef
public void addTypedef(Typedef def)
throws Exception
- Overrides:
addTypedef in class AspectManager
- Throws:
Exception
removeTypedef
public void removeTypedef(String name)
- Overrides:
removeTypedef in class AspectManager
getInterceptorStacks
public Map<String,AdviceStack> getInterceptorStacks()
- Overrides:
getInterceptorStacks in class AspectManager
getClassMetaDataLoaders
public Map<String,ClassMetaDataLoader> getClassMetaDataLoaders()
- Overrides:
getClassMetaDataLoaders in class AspectManager
getCflowStacks
public Map<String,CFlowStack> getCflowStacks()
- Overrides:
getCflowStacks in class AspectManager
getDynamicCFlows
public Map<String,DynamicCFlowDefinition> getDynamicCFlows()
- Overrides:
getDynamicCFlows in class AspectManager
getPerVMAspects
public Map<String,Object> getPerVMAspects()
- Overrides:
getPerVMAspects in class AspectManager
getPrecedenceDefs
public LinkedHashMap<String,PrecedenceDef> getPrecedenceDefs()
- Overrides:
getPrecedenceDefs in class AspectManager
hasOwnPrecedenceDefs
public boolean hasOwnPrecedenceDefs()
addPrecedence
public void addPrecedence(PrecedenceDef precedenceDef)
- Overrides:
addPrecedence in class AspectManager
removePrecedence
public void removePrecedence(String name)
- Overrides:
removePrecedence in class AspectManager
getClassMetaData
public Map<String,ClassMetaDataBinding> getClassMetaData()
- Overrides:
getClassMetaData in class AspectManager
hasOwnClassMetaData
public boolean hasOwnClassMetaData()
removeClassMetaData
public void removeClassMetaData(String name)
- Overrides:
removeClassMetaData in class AspectManager
addClassMetaData
public void addClassMetaData(ClassMetaDataBinding meta)
- Overrides:
addClassMetaData in class AspectManager
hasOwnDataWithEffectOnAdvices
public boolean hasOwnDataWithEffectOnAdvices()
getInterceptorFactory
public InterceptorFactory getInterceptorFactory(String name)
- Description copied from class:
AspectManager
- Find the interceptor factory that can be referenced by name.
- Overrides:
getInterceptorFactory in class AspectManager
getAdviceStack
public AdviceStack getAdviceStack(String name)
- Description copied from class:
AspectManager
- Find an interceptor stack referenced by name ( <stack> )
- Overrides:
getAdviceStack in class AspectManager
getPerVMAspect
public Object getPerVMAspect(AspectDefinition def)
- Overrides:
getPerVMAspect in class AspectManager
getPerVMAspect
public Object getPerVMAspect(String def)
- Overrides:
getPerVMAspect in class AspectManager
getAspectDefinition
public AspectDefinition getAspectDefinition(String name)
- Overrides:
getAspectDefinition in class AspectManager
getTypedef
public Typedef getTypedef(String name)
- Overrides:
getTypedef in class AspectManager
getContainer
public DomainDefinition getContainer(String name)
- Overrides:
getContainer in class AspectManager
getPointcut
public Pointcut getPointcut(String name)
- Find a pointcut of with a given name
- Overrides:
getPointcut in class AspectManager
attachMetaData
public void attachMetaData(Advisor advisor,
Class<?> clazz)
- Overrides:
attachMetaData in class AspectManager
getCFlowStack
public CFlowStack getCFlowStack(String name)
- Overrides:
getCFlowStack in class AspectManager
getDynamicCFlow
public DynamicCFlow getDynamicCFlow(String name,
ClassLoader cl)
- Overrides:
getDynamicCFlow in class AspectManager
findClassMetaDataLoader
public ClassMetaDataLoader findClassMetaDataLoader(String group)
- Description copied from class:
AspectManager
- Every <class-metadata> tag corresponds to
a ClassMetaDataLoader. The ClassMetaDataLoader knows how to take
arbitrary XML and apply it to SimpleMetaData.
Given a group, return the loader for that group
- Overrides:
findClassMetaDataLoader in class AspectManager
getLifecycleBindings
public Map<String,LifecycleCallbackBinding> getLifecycleBindings()
- Overrides:
getLifecycleBindings in class AspectManager
getInterceptionMarkers
public InterceptionMarkers getInterceptionMarkers(ClassLoader loader)
- Overrides:
getInterceptionMarkers in class AspectManager
getSubDomainsPerClass
protected Map<Class<?>,WeakReference<Domain>> getSubDomainsPerClass()
- Managed by the top-level aspect manager
- Overrides:
getSubDomainsPerClass in class AspectManager
getExclude
public ArrayList<String> getExclude()
- Only set on a per vm basis
- Overrides:
getExclude in class AspectManager
getInclude
public ArrayList<String> getInclude()
- Only set on a per vm basis
- Overrides:
getInclude in class AspectManager
getIgnore
public ArrayList<String> getIgnore()
- Only set on a per vm basis
- Overrides:
getIgnore in class AspectManager
getIgnoreExpressions
public ClassExpression[] getIgnoreExpressions()
- Only set on a per vm basis
- Overrides:
getIgnoreExpressions in class AspectManager
getIncludedInvisibleAnnotations
public List<String> getIncludedInvisibleAnnotations()
- Only set on a per vm basis
- Overrides:
getIncludedInvisibleAnnotations in class AspectManager
getDynamicAOPStrategy
public DynamicAOPStrategy getDynamicAOPStrategy()
- Description copied from class:
AspectManager
- Returns the dynamic aop strategy to be used.
- Overrides:
getDynamicAOPStrategy in class AspectManager
setDynamicAOPStrategy
public void setDynamicAOPStrategy(DynamicAOPStrategy strategy)
- Description copied from class:
AspectManager
- Sets the dynamic aop strategy to be used.
Should be called only before any class is transformed.
- Overrides:
setDynamicAOPStrategy in class AspectManager
- Parameters:
strategy - the new dynamic aop strategy.
Copyright © 2011 JBoss, a division of Red Hat, Inc.. All Rights Reserved.