// 12.7 footnote 57: ignore method level interceptors
// The lifecycle callbacks on the interceptors must be invoked in order
for(Class<?> interceptorClass : lifecycleInterceptorClasses)
{
ExtendedAdvisor interceptorAdvisor = ExtendedAdvisorHelper.getExtendedAdvisor(advisor);
HashSet<Class<?>> classes = null;
// Get all public/private/protected/package access methods of signature:
// void <MethodName> (InvocationContext)
Method[] possibleLifecycleInterceptorMethods = ClassHelper.getMethods(interceptorClass, void.class, new Class<?>[]{InvocationContext.class});
for(Method interceptorMethod : possibleLifecycleInterceptorMethods)
{
// Now check if the lifecycle annotation is present
if(interceptorAdvisor.isAnnotationPresent(interceptorClass, interceptorMethod, lifecycleAnnotationType)) //For Xml this returns true sometimes
{
// And finally consider it only if it's not overriden
if (!ClassHelper.isOverridden(interceptorClass, interceptorMethod))
{
classes = checkClass(classes, interceptorMethod, advisor, lifecycleAnnotationType);