private <A extends Annotation> void visitType(A annotation, Class<?> clazz, InjectingComponentType componentType, IntrospectionContext context) { AnnotationProcessor<A> processor = getProcessor(annotation); if (processor != null) { processor.visitType(annotation, clazz, componentType, context); } else { // check if the annotation is a policy set or intent if (policyProcessor != null) { policyProcessor.process(annotation, componentType, context); } } }
private <A extends Annotation> void visitType(A annotation, Class<?> clazz, InjectingComponentType componentType, IntrospectionContext context) { AnnotationProcessor<A> processor = getProcessor(annotation); if (processor != null) { processor.visitType(annotation, clazz, componentType, context); } else { // check if the annotation is a policy if (policyProcessor != null) { policyProcessor.process(annotation, componentType, context); } // check for meta-annotation for (Annotation metaAnnotation : annotation.annotationType().getDeclaredAnnotations()) { if (skipAnnotation(metaAnnotation)) { continue; } visitType(metaAnnotation, clazz, componentType, context); } } }