private void buildInterceptorChain(InterceptorInfo interceptorInfo) throws Exception { Set<Class> listOfClasses = new HashSet<Class>(); for(String name : interceptorInfo.getInterceptorClassNames()) { listOfClasses.add( loader.loadClass(name)); } // Add framework interceptors to list, but check for existence of // class before attempting to load it via application class loader for(InterceptorDescriptor frameworkInterceptor : frameworkInterceptors) { Class clazz = frameworkInterceptor.getInterceptorClass(); if( clazz == null ) { clazz = loader.loadClass(frameworkInterceptor.getInterceptorClassName()); } listOfClasses.add(clazz); } initInterceptorClasses(listOfClasses); interceptorsExists = (listOfClasses.size() > 0) || interceptorInfo.getHasTargetClassAroundInvoke(); int size = CallbackType.values().length; callbackChain = new CallbackChainImpl[size]; initCallbackIndices(interceptorInfo.getPostConstructInterceptors(), CallbackType.POST_CONSTRUCT); initCallbackIndices(interceptorInfo.getPreDestroyInterceptors(), CallbackType.PRE_DESTROY); }
private void buildInterceptorChain(InterceptorInfo interceptorInfo) throws Exception { Set<Class> listOfClasses = new HashSet<Class>(); for(String name : interceptorInfo.getInterceptorClassNames()) { listOfClasses.add( loader.loadClass(name)); } // Add framework interceptors to list, but check for existence of // class before attempting to load it via application class loader for(InterceptorDescriptor frameworkInterceptor : frameworkInterceptors) { Class clazz = frameworkInterceptor.getInterceptorClass(); if( clazz == null ) { clazz = loader.loadClass(frameworkInterceptor.getInterceptorClassName()); } listOfClasses.add(clazz); } initInterceptorClasses(listOfClasses); interceptorsExists = (listOfClasses.size() > 0) || interceptorInfo.getHasTargetClassAroundInvoke(); int size = CallbackType.values().length; callbackChain = new CallbackChainImpl[size]; initCallbackIndices(interceptorInfo.getAroundConstructInterceptors(), CallbackType.AROUND_CONSTRUCT); initCallbackIndices(interceptorInfo.getPostConstructInterceptors(), CallbackType.POST_CONSTRUCT); initCallbackIndices(interceptorInfo.getPreDestroyInterceptors(), CallbackType.PRE_DESTROY); }