org.jboss.aop
Class ClassContainer

java.lang.Object
  extended by org.jboss.aop.Advisor
      extended by org.jboss.aop.ClassContainer
Direct Known Subclasses:
ClassProxyContainer

public class ClassContainer
extends Advisor

Comment

Version:
$Revision: 78946 $
Author:
Bill Burke

Field Summary
protected  Field[] advisedFields
           
 
Fields inherited from class org.jboss.aop.Advisor
adviceBindings, adviceInterceptors, advisedMethods, annotations, aspects, classMetaData, classMetaDataBindings, clazz, constructionInfos, constructionInterceptors, constructorInfos, constructorInterceptors, constructorMetaData, constructors, defaultMetaData, doesHaveAspects, fieldMetaData, interfaceIntroductions, lazyCollectionLock, loader, manager, methodInfos, methodInterceptors, methodMetaData, name, NULL_ASPECT, perInstanceAspectDefinitions, perInstanceJoinpointAspectDefinitions
 
Constructor Summary
ClassContainer(String name, AspectManager manager)
           
 
Method Summary
 void addClassMetaData(ClassMetaDataBinding data)
           
protected  void bindClassMetaData(ClassMetaDataBinding data)
           
 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.
protected  void createConstructorTables()
           
protected  void createFieldTable()
          Gets advised methods.
protected  void createInterceptorChains()
           
protected  void createMethodMap()
           
 void initializeClassContainer()
          Deprecated. 
 void initializeClassContainer(Class<?> clazz)
           
 void initializeMetadata()
           
protected  void initializeMethodChain()
           
protected  void rebindClassMetaData()
           
protected  void rebuildInterceptors()
           
protected  void rebuildInterceptorsForAddedBinding(AdviceBinding binding)
           
protected  void rebuildInterceptorsForRemovedBinding(AdviceBinding binding)
           
 void removeClassMetaData(ClassMetaDataBinding data)
           
protected  void setChainOverridingForInheritedMethods(boolean overriding)
           
 void setClass(Class<?> clazz)
          Deprecated. 
protected  void updateInterceptorChains()
           
 
Methods inherited from class org.jboss.aop.Advisor
addAdviceInterceptor, addInterfaceIntroduction, addPerClassAspect, addPerInstanceAspect, addPerInstanceJoinpointAspect, adjustInfoForAddedBinding, cleanup, createInterceptorChain, deployAnnotationOverride, deployAnnotationOverrides, deployMethodAnnotationOverrides, doDeployAnnotationOverride, dynamicInvoke, finalizeChain, finalizeMethodChain, getAdviceInterceptor, getAllMethods, getAnnotations, getClassLoader, getClassMetaData, getClassMetadataBindings, getClazz, getConstructionInfos, getConstructionInterceptors, getConstructorInfos, getConstructorInterceptors, getConstructorMetaData, getConstructors, getDefaultMetaData, getFieldMetaData, getInterfaceIntroductions, getManager, getMetadata, getMethodInfo, getMethodMetaData, getName, getPerClassAspect, getPerClassAspect, getPerInstanceAspectDefinitions, getPerInstanceJoinpointAspectDefinitions, getPerVMAspect, getSimpleName, hasAnnotation, hasAnnotation, hasAnnotation, hasAnnotation, hasAnnotation, hasAnnotation, hasAnnotation, hasAnnotation, hasAnnotation, hasAnnotation, hasAnnotation, hasAnnotation, hasAspects, hasSameConstructorAspectLength, hasSameMethodAspectLength, initAdvisedMethodsMap, initClassMetaDataBindingsList, initializeConstructionChain, initializeConstructorChain, initializeInterfaceIntroductions, initInterfaceIntroductionsList, initPerInstanceAspectDefinitionsSet, initPerInstanceJoinpointAspectDefinitionsMap, lockWriteChain, lockWriteChain, newBindingAdded, newBindingAdded, pointcutResolved, populateInterceptorsFromInfos, removeAdviceBinding, removeAdviceBindings, removeInterfaceIntroduction, removePerClassAspect, removePerInstanceAspect, removePerInstanceJoinpointAspect, resetChain, resetChain, resetChainKeepInterceptors, resetChainKeepInterceptors, resolveAnnotation, resolveAnnotation, resolveAnnotation, resolveAnnotation, resolveAnnotation, resolveAnnotation, resolveConstructionPointcut, resolveConstructorPointcut, resolveMethodPointcut, resolveTypedAnnotation, resolveTypedAnnotation, resolveTypedAnnotation, resolveTypedAnnotation, resolveTypedAnnotation, resolveTypedAnnotation, setManager, setMetadata, unlockWriteChain, unlockWriteChain, updateConstructionPointcutAfterRemove, updateConstructorPointcutAfterRemove, updateFieldPointcutAfterRemove, updateFieldPointcutAfterRemove, updateMethodPointcutAfterRemove
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

advisedFields

protected Field[] advisedFields
Constructor Detail

ClassContainer

public ClassContainer(String name,
                      AspectManager manager)
Method Detail

initializeClassContainer

public void initializeClassContainer(Class<?> clazz)

initializeClassContainer

@Deprecated
public void initializeClassContainer()
Deprecated. 


setClass

@Deprecated
public void setClass(Class<?> clazz)
Deprecated. 


initializeMetadata

public void initializeMetadata()

createFieldTable

protected void createFieldTable()
Gets advised methods.


rebuildInterceptors

protected void rebuildInterceptors()
Specified by:
rebuildInterceptors in class Advisor

rebuildInterceptorsForAddedBinding

protected void rebuildInterceptorsForAddedBinding(AdviceBinding binding)
Specified by:
rebuildInterceptorsForAddedBinding in class Advisor

rebuildInterceptorsForRemovedBinding

protected void rebuildInterceptorsForRemovedBinding(AdviceBinding binding)
Specified by:
rebuildInterceptorsForRemovedBinding in class Advisor

addClassMetaData

public void addClassMetaData(ClassMetaDataBinding data)
Specified by:
addClassMetaData in class Advisor

removeClassMetaData

public void removeClassMetaData(ClassMetaDataBinding data)
Specified by:
removeClassMetaData in class Advisor

bindClassMetaData

protected void bindClassMetaData(ClassMetaDataBinding data)

rebindClassMetaData

protected void rebindClassMetaData()

createMethodMap

protected void createMethodMap()

initializeMethodChain

protected void initializeMethodChain()

createConstructorTables

protected void createConstructorTables()

createInterceptorChains

protected void createInterceptorChains()

updateInterceptorChains

protected void updateInterceptorChains()

chainOverridingForInheritedMethods

public boolean chainOverridingForInheritedMethods()
Description copied from class: Advisor
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. This is currently only supported for generated advisors, due to the new weaving model. So (with generated advisors) if we have

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>

Super.method() will be intercepted by A only
Sub.method() will be intercepted by A and B

Overrides:
chainOverridingForInheritedMethods in class Advisor
Returns:
the value of chainOverridingForInheritedMethods
See Also:
Advisor.chainOverridingForInheritedMethods()

setChainOverridingForInheritedMethods

protected void setChainOverridingForInheritedMethods(boolean overriding)
Overrides:
setChainOverridingForInheritedMethods in class Advisor
Parameters:
overriding - the new value of chainOverridingForInheritedMethods
See Also:
Advisor.chainOverridingForInheritedMethods()


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