org.jboss.ejb3.interceptors.container
Class ManagedObjectAdvisor<T,C extends AbstractContainer<T,C>>

java.lang.Object
  extended by org.jboss.aop.Advisor
      extended by org.jboss.aop.ClassAdvisor
          extended by org.jboss.ejb3.interceptors.container.ManagedObjectAdvisor<T,C>
All Implemented Interfaces:
org.jboss.aop.InstanceAdvisor, ExtendedAdvisor

public class ManagedObjectAdvisor<T,C extends AbstractContainer<T,C>>
extends org.jboss.aop.ClassAdvisor
implements ExtendedAdvisor, org.jboss.aop.InstanceAdvisor

Invariant: - there is always an instance advisor delegate

Version:
$Revision: 76651 $
Author:
Carlo de Wolf

Field Summary
 
Fields inherited from class org.jboss.aop.ClassAdvisor
advisedFields, backrefConCalledByConstructorBindings, backrefMethodCalledByConstructorBindings, conCalledByConBindings, conCalledByConInterceptors, fieldReadInfos, fieldWriteInfos, initialized, methodCalledByConBindings, methodCalledByConInterceptors, NOT_TRANSFORMABLE_SUFFIX, unadvisedMethods
 
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
protected ManagedObjectAdvisor(C container, java.lang.String name, org.jboss.aop.AspectManager manager)
           
protected ManagedObjectAdvisor(C container, java.lang.String name, org.jboss.aop.AspectManager manager, org.jboss.aop.annotation.AnnotationRepository pAnnotations)
           
 
Method Summary
 void appendInterceptor(org.jboss.aop.advice.Interceptor interceptor)
           
 void appendInterceptor(int index, org.jboss.aop.advice.Interceptor interceptor)
           
 void appendInterceptorStack(java.lang.String stackName)
           
 boolean chainOverridingForInheritedMethods()
           
protected  void createInterceptorChain(org.jboss.aop.advice.InterceptorFactory[] factories, java.util.ArrayList newinterceptors, org.jboss.aop.joinpoint.Joinpoint joinpoint)
           
 C getContainer()
           
 org.jboss.aop.Domain getDomain()
           
 java.lang.Object getInstance()
           
 org.jboss.aop.advice.Interceptor[] getInterceptors()
           
 org.jboss.aop.advice.Interceptor[] getInterceptors(org.jboss.aop.advice.Interceptor[] baseChain)
           
 org.jboss.aop.metadata.SimpleMetaData getMetaData()
           
 java.lang.Object getPerInstanceAspect(org.jboss.aop.advice.AspectDefinition def)
           
 java.lang.Object getPerInstanceAspect(java.lang.String aspectName)
           
 java.lang.Object getPerInstanceJoinpointAspect(org.jboss.aop.joinpoint.Joinpoint joinpoint, org.jboss.aop.advice.AspectDefinition def)
           
 boolean hasInterceptors()
           
protected  void initialize(java.lang.Class<?> beanClass)
           
 void insertInterceptor(org.jboss.aop.advice.Interceptor interceptor)
           
 void insertInterceptor(int index, org.jboss.aop.advice.Interceptor interceptor)
           
 void insertInterceptorStack(java.lang.String stackName)
           
 boolean isAnnotationPresent(java.lang.Class<?> cls, java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)
           
 boolean isAnnotationPresent(java.lang.Class<?> cls, java.lang.reflect.Member member, java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)
           
 org.jboss.aop.InstanceAdvisorDelegate popThreadedInstanceAdvisorDelegate()
           
 void pushThreadedInstanceAdvisorDelegate(org.jboss.aop.InstanceAdvisorDelegate delegate)
           
protected  void rebindClassMetaData()
           
 void removeInterceptor(java.lang.String name)
           
 void removeInterceptorStack(java.lang.String name)
           
<A extends java.lang.annotation.Annotation>
A
resolveAnnotation(java.lang.Class<?> cls, java.lang.Class<A> annotationType)
           
<A extends java.lang.annotation.Annotation>
A
resolveAnnotation(java.lang.Class<?> cls, java.lang.reflect.Member member, java.lang.Class<A> annotationType)
           
 
Methods inherited from class org.jboss.aop.ClassAdvisor
addClassMetaData, addConstructorCallerPointcut, addDeclaredMethods, attachClass, bindClassMetaData, cleanup, createConstructorTables, createFieldTable, createInterceptorChains, createMethodTables, doRebuildInterceptors, doRebuildInterceptorsForAddedBinding, doRebuildInterceptorsForRemovedBinding, finalizeChains, finalizeConCalledByConInterceptorChain, finalizeConCalledByMethodInterceptorChain, finalizeMethodCalledByConInterceptorChain, finalizeMethodCalledByMethodInterceptorChain, getAdvisedFields, getAdvisedMethods, getConByMethodData, getConCalledByConInterceptors, getConCalledByMethodInterceptors, getConstructorIndex, getConstructors, getFieldAspect, getFieldIndex, getFieldReadInfos, getFieldReadInterceptors, getFieldWriteInfos, getFieldWriteInterceptors, getInterceptorChainObserver, getMethodByMethodData, getMethodCalledByConInterceptors, getMethodCalledByMethodBindings, getMethodCalledByMethodInterceptors, getMethodInterceptors, getUnadvisedMethods, initializeFieldReadChain, initializeFieldWriteChain, initializeMethodChain, invoke, invokeCaller, invokeCaller, invokeConCalledByCon, invokeConCalledByCon, invokeConCalledByCon, invokeConCalledByCon, invokeConCalledByMethod, invokeConCalledByMethod, invokeConstructorCaller, invokeConstructorCaller, invokeConstructorCaller, invokeConstructorCaller, invokeMethod, invokeMethod, invokeMethod, invokeMethod, invokeNew, invokeNewWithoutAdvisement, invokeRead, invokeWithoutAdvisement, invokeWrite, isAdvisable, isWithoutAdvisement, notAdvisedMethodName, populateInterceptorsFromInfos, populateMixinMethods, rebuildCallerInterceptors, rebuildInterceptors, rebuildInterceptorsForAddedBinding, rebuildInterceptorsForRemovedBinding, removeAdviceBinding, removeAdviceBindings, removeClassMetaData, resolveCallerConstructorInfo, resolveCallerConstructorInfoAsWeakReference, resolveCallerMethodInfo, resolveCallerMethodInfoAsWeakReference, resolveConstructorCallerConstructorInfo, resolveConstructorCallerConstructorInfo, resolveConstructorCallerConstructorInfoAsWeakReference, resolveConstructorCallerConstructorInfoAsWeakReference, resolveConstructorCallerMethodInfo, resolveConstructorCallerMethodInfo, resolveConstructorCallerMethodInfoAsWeakReference, resolveConstructorCallerMethodInfoAsWeakReference, resolveFieldPointcut, resolvePointcuts, setInterceptorChainObserver, updateFieldPointcutAfterRemove, updateInterceptorChains
 
Methods inherited from class org.jboss.aop.Advisor
addAdviceInterceptor, addInterfaceIntroduction, addPerClassAspect, addPerInstanceAspect, addPerInstanceJoinpointAspect, adjustInfoForAddedBinding, deployAnnotationOverride, deployAnnotationOverrides, deployMethodAnnotationOverrides, doDeployAnnotationOverride, dynamicInvoke, finalizeChain, finalizeMethodChain, getAdviceInterceptor, getAllMethods, getAnnotations, getClassLoader, getClassMetaData, getClassMetadataBindings, getClazz, getConstructionInfos, getConstructionInterceptors, getConstructorInfos, getConstructorInterceptors, getConstructorMetaData, 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, removeInterfaceIntroduction, removePerClassAspect, removePerInstanceAspect, removePerInstanceJoinpointAspect, resetChain, resetChain, resetChainKeepInterceptors, resetChainKeepInterceptors, resolveAnnotation, resolveAnnotation, resolveAnnotation, resolveAnnotation, resolveAnnotation, resolveAnnotation, resolveConstructionPointcut, resolveConstructorPointcut, resolveMethodPointcut, resolveTypedAnnotation, resolveTypedAnnotation, resolveTypedAnnotation, resolveTypedAnnotation, resolveTypedAnnotation, resolveTypedAnnotation, setChainOverridingForInheritedMethods, setManager, setMetadata, unlockWriteChain, unlockWriteChain, updateConstructionPointcutAfterRemove, updateConstructorPointcutAfterRemove, updateFieldPointcutAfterRemove, updateMethodPointcutAfterRemove
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.jboss.aop.InstanceAdvisor
hasAspects
 

Constructor Detail

ManagedObjectAdvisor

protected ManagedObjectAdvisor(C container,
                               java.lang.String name,
                               org.jboss.aop.AspectManager manager)

ManagedObjectAdvisor

protected ManagedObjectAdvisor(C container,
                               java.lang.String name,
                               org.jboss.aop.AspectManager manager,
                               org.jboss.aop.annotation.AnnotationRepository pAnnotations)
Parameters:
container -
name -
manager -
pAnnotations - an alternate annotation repository or null for the default
Method Detail

chainOverridingForInheritedMethods

public boolean chainOverridingForInheritedMethods()
Overrides:
chainOverridingForInheritedMethods in class org.jboss.aop.Advisor

createInterceptorChain

protected void createInterceptorChain(org.jboss.aop.advice.InterceptorFactory[] factories,
                                      java.util.ArrayList newinterceptors,
                                      org.jboss.aop.joinpoint.Joinpoint joinpoint)
Overrides:
createInterceptorChain in class org.jboss.aop.Advisor

getContainer

public C getContainer()

initialize

protected void initialize(java.lang.Class<?> beanClass)

rebindClassMetaData

protected void rebindClassMetaData()
Overrides:
rebindClassMetaData in class org.jboss.aop.ClassAdvisor

pushThreadedInstanceAdvisorDelegate

public final void pushThreadedInstanceAdvisorDelegate(org.jboss.aop.InstanceAdvisorDelegate delegate)

popThreadedInstanceAdvisorDelegate

public final org.jboss.aop.InstanceAdvisorDelegate popThreadedInstanceAdvisorDelegate()

appendInterceptor

public void appendInterceptor(org.jboss.aop.advice.Interceptor interceptor)
Specified by:
appendInterceptor in interface org.jboss.aop.InstanceAdvisor

appendInterceptor

public void appendInterceptor(int index,
                              org.jboss.aop.advice.Interceptor interceptor)
Specified by:
appendInterceptor in interface org.jboss.aop.InstanceAdvisor

appendInterceptorStack

public void appendInterceptorStack(java.lang.String stackName)
Specified by:
appendInterceptorStack in interface org.jboss.aop.InstanceAdvisor

getDomain

public org.jboss.aop.Domain getDomain()
Specified by:
getDomain in interface org.jboss.aop.InstanceAdvisor

getInstance

public java.lang.Object getInstance()
Specified by:
getInstance in interface org.jboss.aop.InstanceAdvisor

getInterceptors

public org.jboss.aop.advice.Interceptor[] getInterceptors()
Specified by:
getInterceptors in interface org.jboss.aop.InstanceAdvisor

getInterceptors

public org.jboss.aop.advice.Interceptor[] getInterceptors(org.jboss.aop.advice.Interceptor[] baseChain)
Specified by:
getInterceptors in interface org.jboss.aop.InstanceAdvisor

getMetaData

public org.jboss.aop.metadata.SimpleMetaData getMetaData()
Specified by:
getMetaData in interface org.jboss.aop.InstanceAdvisor

getPerInstanceAspect

public java.lang.Object getPerInstanceAspect(java.lang.String aspectName)
Specified by:
getPerInstanceAspect in interface org.jboss.aop.InstanceAdvisor

getPerInstanceAspect

public java.lang.Object getPerInstanceAspect(org.jboss.aop.advice.AspectDefinition def)
Specified by:
getPerInstanceAspect in interface org.jboss.aop.InstanceAdvisor

getPerInstanceJoinpointAspect

public java.lang.Object getPerInstanceJoinpointAspect(org.jboss.aop.joinpoint.Joinpoint joinpoint,
                                                      org.jboss.aop.advice.AspectDefinition def)
Specified by:
getPerInstanceJoinpointAspect in interface org.jboss.aop.InstanceAdvisor

hasInterceptors

public boolean hasInterceptors()
Specified by:
hasInterceptors in interface org.jboss.aop.InstanceAdvisor

insertInterceptor

public void insertInterceptor(org.jboss.aop.advice.Interceptor interceptor)
Specified by:
insertInterceptor in interface org.jboss.aop.InstanceAdvisor

insertInterceptor

public void insertInterceptor(int index,
                              org.jboss.aop.advice.Interceptor interceptor)
Specified by:
insertInterceptor in interface org.jboss.aop.InstanceAdvisor

insertInterceptorStack

public void insertInterceptorStack(java.lang.String stackName)
Specified by:
insertInterceptorStack in interface org.jboss.aop.InstanceAdvisor

removeInterceptor

public void removeInterceptor(java.lang.String name)
Specified by:
removeInterceptor in interface org.jboss.aop.InstanceAdvisor

removeInterceptorStack

public void removeInterceptorStack(java.lang.String name)
Specified by:
removeInterceptorStack in interface org.jboss.aop.InstanceAdvisor

isAnnotationPresent

public boolean isAnnotationPresent(java.lang.Class<?> cls,
                                   java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)
Specified by:
isAnnotationPresent in interface ExtendedAdvisor

isAnnotationPresent

public boolean isAnnotationPresent(java.lang.Class<?> cls,
                                   java.lang.reflect.Member member,
                                   java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)
Specified by:
isAnnotationPresent in interface ExtendedAdvisor

resolveAnnotation

public <A extends java.lang.annotation.Annotation> A resolveAnnotation(java.lang.Class<?> cls,
                                                                       java.lang.Class<A> annotationType)
Specified by:
resolveAnnotation in interface ExtendedAdvisor

resolveAnnotation

public <A extends java.lang.annotation.Annotation> A resolveAnnotation(java.lang.Class<?> cls,
                                                                       java.lang.reflect.Member member,
                                                                       java.lang.Class<A> annotationType)
Specified by:
resolveAnnotation in interface ExtendedAdvisor


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