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: 79029 $
- Author:
- Bill Burke, adrian@jboss.org
Fields inherited from class org.jboss.aop.AspectManager |
advisors, annotationIntroductions, annotationOverrides, arrayBindings, arrayReplacements, aspectDefinitions, bindingCollection, bindings, cflowStacks, classicOrder, 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, 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 © 2008 JBoss, a division of Red Hat, Inc.. All Rights Reserved.