final List<ClassAnnotation> componentTags = scannedClass.getClassAnnotations(Component.class.getName()); scannedClass.processed(componentTags); final List<MethodAnnotation> methodTags = scannedClass.getMethodAnnotations(null); for (final MethodAnnotation m : methodTags) { if (m.getName().equals(Activate.class.getName())) { cd.setActivate(m.getAnnotatedMethod().getName()); scannedClass.processed(m); } else if (m.getName().equals(Deactivate.class.getName())) { cd.setDeactivate(m.getAnnotatedMethod().getName()); scannedClass.processed(m); } else if (m.getName().equals(Modified.class.getName())) { cd.setModified(m.getAnnotatedMethod().getName()); scannedClass.processed(m); final List<ClassAnnotation> serviceTags = scannedClass.getClassAnnotations(Service.class.getName()); if (serviceTags.size() > 0) { scannedClass.processed(serviceTags); allServiceTags.addAll(serviceTags); final List<ClassAnnotation> servicesTags = scannedClass.getClassAnnotations(Services.class.getName()); if (servicesTags.size() > 0) { scannedClass.processed(servicesTags); for (final ClassAnnotation cad : servicesTags) { final ClassAnnotation[] values = (ClassAnnotation[]) cad.getValue("value"); final List<ClassAnnotation> referencesClassTags = scannedClass.getClassAnnotations(References.class.getName()); scannedClass.processed(referencesClassTags); for (final ClassAnnotation cad : referencesClassTags) {
addInterfaces(service, scannedClass.getScannedClass());
/** * @see org.apache.felix.scrplugin.annotations.AnnotationProcessor#process(org.apache.felix.scrplugin.annotations.ScannedClass, org.apache.felix.scrplugin.description.ClassDescription) */ @Override public void process(final ScannedClass scannedClass, final ClassDescription describedClass) throws SCRDescriptorFailureException, SCRDescriptorException { final List<ClassAnnotation> servlets = scannedClass.getClassAnnotations(SlingServlet.class.getName()); scannedClass.processed(servlets); for(final ClassAnnotation cad : servlets) { processSlingServlet(cad, describedClass); } final List<ClassAnnotation> filters = scannedClass.getClassAnnotations(SlingFilter.class.getName()); scannedClass.processed(filters); for(final ClassAnnotation cad : filters) { processSlingFilter(cad, describedClass); } }
final ClassDescription describedClass) throws SCRDescriptorFailureException, SCRDescriptorException { final List<ClassAnnotation> componentTags = scannedClass.getClassAnnotations(Component.class.getName()); scannedClass.processed(componentTags); final List<MethodAnnotation> methodTags = scannedClass.getMethodAnnotations(null); for (final MethodAnnotation m : methodTags) { if (m.getName().equals(Activate.class.getName())) { cd.setActivate(m.getAnnotatedMethod().getName()); scannedClass.processed(m); } else if (m.getName().equals(Deactivate.class.getName())) { cd.setDeactivate(m.getAnnotatedMethod().getName()); scannedClass.processed(m); } else if (m.getName().equals(Modified.class.getName())) { cd.setModified(m.getAnnotatedMethod().getName()); scannedClass.processed(m); } else if (m.getName().equals(Reference.class.getName()) ) { this.processReference(describedClass, m); scannedClass.processed(m);
aProcessor.process(new ScannedClass(annotations, annotatedClass), desc);
@Override public void process(final ScannedClass scannedClass, final ClassDescription classDescription) throws SCRDescriptorException, SCRDescriptorFailureException { final List<ClassAnnotation> healthChecks = scannedClass.getClassAnnotations(SlingHealthCheck.class.getName()); scannedClass.processed(healthChecks); for (final ClassAnnotation cad : healthChecks) { processHealthCheck(cad, classDescription); } }
final boolean classIsAbstract = Modifier.isAbstract(scannedClass.getScannedClass().getModifiers()); component.setAbstract(cad.getBooleanValue("componentAbstract", classIsAbstract)); component.setName(cad.getStringValue("name", scannedClass.getScannedClass().getName()));
component.setName(cad.getStringValue("name", scannedClass.getScannedClass().getName())); this.searchInterfaces(listedInterfaces, scannedClass.getScannedClass());