org.jboss.aop.domain
Class ScopedClassLoaderDomain

java.lang.Object
  extended by org.jboss.aop.AspectManager
      extended by org.jboss.aop.Domain
          extended by org.jboss.aop.domain.ScopedClassLoaderDomain
All Implemented Interfaces:
org.jboss.util.loading.Translator
Direct Known Subclasses:
ScopedRepositoryClassLoaderDomain, ScopedVFSClassLoaderDomain

public abstract class ScopedClassLoaderDomain
extends Domain

A domain that is used for scoped classloaders

Version:
$Revision: 1.1 $
Author:
Kabir Khan, adrian@jboss.org

Field Summary
protected  String classLoaderString
           
protected  InterceptionMarkers interceptionMarkers
           
protected  ConcurrentHashMap<String,Object> myPerVMAspects
           
protected  ConcurrentHashMap<String,Boolean> notMyPerVMAspects
           
protected  boolean parentDelegation
           
 
Fields inherited from class org.jboss.aop.Domain
hasOwnAnnotationIntroductions, hasOwnAnnotationOverrides, hasOwnBindings, hasOwnClassMetaData, hasOwnInterfaceIntroductions, hasOwnPointcuts, hasOwnPrecedenceDefs, hasOwnTypedefs, inheritsBindings, inheritsDeclarations, parent, parentFirst
 
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, interceptorFactories, interceptorStacks, interfaceIntroductions, lifecycleManager, lock, maintainAdvisorMethodInterceptors, manager, notificationHandler, optimize, perVMAspects, precedenceDefs, sortedPrecedenceDefEntries, subDomainsByName, subDomainsPerClass, subscribedDomainQueueRef, subscribedSubDomains, subscribedSubDomainsQueue, suppressReferenceErrors, suppressTransformationErrors, typedefs, verbose, weavingStrategy
 
Constructor Summary
ScopedClassLoaderDomain(ClassLoader loader, String name, boolean parentDelegation, AspectManager manager, boolean parentFirst)
           
 
Method Summary
protected  Object createPerVmAspect(String def, AspectDefinition adef, ClassLoader scopedClassLoader)
           
protected  ClassLoader getClassLoader()
           
 Object getPerVMAspect(AspectDefinition def)
           
 Object getPerVMAspect(String def)
           
protected abstract  Object getPerVmAspectWithNoParentDelegation(String def)
           
protected  Object getSuperPerVmAspect(String def)
           
abstract  boolean isValid()
           
 void removeAspectDefinition(String name)
           
 
Methods inherited from class org.jboss.aop.Domain
addAnnotationIntroduction, addAnnotationOverride, addBinding, addClassMetaData, addInterfaceIntroduction, addPointcut, addPrecedence, addTypedef, attachMetaData, createBindingCollection, findClassMetaDataLoader, getAdviceStack, getAnnotationIntroductions, getAnnotationOverrides, getArrayReplacements, getAspectDefinition, getBindings, getCFlowStack, getCflowStacks, getClassMetaData, getClassMetaDataLoaders, getContainer, getDomainName, getDomainName, getDynamicAOPStrategy, getDynamicCFlow, getDynamicCFlows, getExclude, getIgnore, getIgnoreExpressions, getInclude, getIncludedInvisibleAnnotations, getInterceptionMarkers, getInterceptorFactory, getInterceptorStacks, getInterfaceIntroductions, getLifecycleBindings, getManagerFQN, getPerVMAspects, getPointcut, getPointcutInfos, getPointcuts, getPrecedenceDefs, getSubDomainsPerClass, getTypedef, getTypedefs, hasOwnAnnotationIntroductions, hasOwnAnnotationOverrides, hasOwnBindings, hasOwnClassMetaData, hasOwnDataWithEffectOnAdvices, hasOwnInterfaceIntroductions, hasOwnPointcuts, hasOwnPrecedenceDefs, hasOwnTypedefs, removeAnnotationIntroduction, removeAnnotationOverride, removeBinding, removeBindings, removeClassMetaData, removeInterfaceIntroduction, removePointcut, removePrecedence, removeTypedef, setDynamicAOPStrategy, setInheritsBindings, setInheritsDeclarations
 
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, 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, 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
 

Field Detail

parentDelegation

protected boolean parentDelegation

myPerVMAspects

protected ConcurrentHashMap<String,Object> myPerVMAspects

notMyPerVMAspects

protected ConcurrentHashMap<String,Boolean> notMyPerVMAspects

interceptionMarkers

protected InterceptionMarkers interceptionMarkers

classLoaderString

protected String classLoaderString
Constructor Detail

ScopedClassLoaderDomain

public ScopedClassLoaderDomain(ClassLoader loader,
                               String name,
                               boolean parentDelegation,
                               AspectManager manager,
                               boolean parentFirst)
Method Detail

getClassLoader

protected ClassLoader getClassLoader()

isValid

public abstract boolean isValid()
Overrides:
isValid in class Domain

removeAspectDefinition

public void removeAspectDefinition(String name)
Overrides:
removeAspectDefinition in class AspectManager

getPerVMAspect

public Object getPerVMAspect(AspectDefinition def)
Overrides:
getPerVMAspect in class Domain

getPerVMAspect

public Object getPerVMAspect(String def)
Overrides:
getPerVMAspect in class Domain

createPerVmAspect

protected Object createPerVmAspect(String def,
                                   AspectDefinition adef,
                                   ClassLoader scopedClassLoader)
Overrides:
createPerVmAspect in class AspectManager

getSuperPerVmAspect

protected Object getSuperPerVmAspect(String def)

getPerVmAspectWithNoParentDelegation

protected abstract Object getPerVmAspectWithNoParentDelegation(String def)


Copyright © 2012 JBoss, a division of Red Hat, Inc.. All Rights Reserved.