protected HandlerProcessingResult processAnnotation(AnnotationInfo ainfo, ResourceContainerContext[] rcContexts) throws AnnotationProcessorException { Method annMethod = (Method)ainfo.getAnnotatedElement(); validateAnnotatedLifecycleMethod(annMethod); String pdMethodName = annMethod.getName(); String pdClassName = annMethod.getDeclaringClass().getName(); for (ResourceContainerContext rcContext : rcContexts) { LifecycleCallbackDescriptor preDestroyDesc = new LifecycleCallbackDescriptor(); preDestroyDesc.setLifecycleCallbackClass(pdClassName); preDestroyDesc.setLifecycleCallbackMethod(pdMethodName); preDestroyDesc.setMetadataSource(MetadataSource.ANNOTATION); // override by xml is handled in addPreDestroyDescriptor rcContext.addPreDestroyDescriptor(preDestroyDesc); } return getDefaultProcessedResult(); } }
protected HandlerProcessingResult processAnnotation(AnnotationInfo ainfo, ResourceContainerContext[] rcContexts) throws AnnotationProcessorException { AnnotatedElementHandler aeHandler = ainfo.getProcessingContext().getHandler(); PreDestroy preDestroyAn = (PreDestroy)ainfo.getAnnotation(); Method annMethod = (Method)ainfo.getAnnotatedElement(); String pdMethodName = annMethod.getName(); String pdClassName = annMethod.getDeclaringClass().getName(); for (ResourceContainerContext rcContext : rcContexts) { LifecycleCallbackDescriptor preDestroyDesc = new LifecycleCallbackDescriptor(); preDestroyDesc.setLifecycleCallbackClass(pdClassName); preDestroyDesc.setLifecycleCallbackMethod(pdMethodName); preDestroyDesc.setMetadataSource(MetadataSource.ANNOTATION); // override by xml is handled in addPreDestroyDescriptor rcContext.addPreDestroyDescriptor(preDestroyDesc); } return getDefaultProcessedResult(); } }