public List<Method> findAnnotatedMethods(Class<? extends Annotation> annotation) { classesNotLoaded.clear(); List<ClassInfo> seen = new ArrayList<ClassInfo>(); List<Method> methods = new ArrayList<Method>(); List<Info> infos = getAnnotationInfos(annotation.getName()); for (Info info : infos) { if (info instanceof MethodInfo && !info.getName().equals("<init>")) { MethodInfo methodInfo = (MethodInfo) info; ClassInfo classInfo = methodInfo.getDeclaringClass(); if (seen.contains(classInfo)) continue; seen.add(classInfo); try { Class clazz = classInfo.get(); for (Method method : clazz.getDeclaredMethods()) { if (method.isAnnotationPresent(annotation)) { methods.add(method); } } } catch (ClassNotFoundException e) { classesNotLoaded.add(classInfo.getName()); } } } return methods; }
private void linkMetaAnnotations() { for (ClassInfo classInfo : classInfos.values().toArray(new ClassInfo[classInfos.size()])) { if (isMetaRoot(classInfo)) { try { metaroots.add((Class<? extends Annotation>) classInfo.get()); } catch (ClassNotFoundException e) { classesNotLoaded.add(classInfo.getName()); } } } for (Class<? extends Annotation> metaroot : metaroots) { List<Info> infoList = annotated.get(metaroot.getName()); for (Info info : infoList) { readClassDef(info.getName() + "$$"); } } }
private void linkMetaAnnotations() { for (ClassInfo classInfo : classInfos.values().toArray(new ClassInfo[classInfos.size()])) { if (isMetaRoot(classInfo)) { try { metaroots.add((Class<? extends Annotation>) classInfo.get()); } catch (ClassNotFoundException e) { classesNotLoaded.add(classInfo.getName()); } } } for (Class<? extends Annotation> metaroot : metaroots) { List<Info> infoList = annotated.get(metaroot.getName()); for (Info info : infoList) { readClassDef(info.getName() + "$$"); } } }
List<Info> infos = getAnnotationInfos(annotation.getName()); for (Info info : infos) { if (info instanceof MethodInfo && !info.getName().equals("<init>")) { final MethodInfo methodInfo = (MethodInfo) info;
List<Info> infos = getAnnotationInfos(annotation.getName()); for (Info info : infos) { if (info instanceof MethodInfo && info.getName().equals("<init>")) { MethodInfo methodInfo = (MethodInfo) info;
List<Info> infoList = annotated.get(metaroot.getName()); for (Info info : infoList) { final String className = info.getName() + "$$"; final ClassInfo i = parent.classInfos.get(className); if (i == null) continue;
List<Info> infos = getAnnotationInfos(annotation.getName()); for (Info info : infos) { if (info instanceof MethodInfo && !info.getName().equals("<init>")) { final MethodInfo methodInfo = (MethodInfo) info;
List<Info> infos = getAnnotationInfos(annotation.getName()); for (Info info : infos) { if (info instanceof MethodInfo && info.getName().equals("<init>")) { MethodInfo methodInfo = (MethodInfo) info;
List<Info> infoList = annotated.get(metaroot.getName()); for (Info info : infoList) { final String className = info.getName() + "$$"; final ClassInfo i = parent.classInfos.get(className); if (i == null) continue;
List<Info> infoList = annotated.get(metaroot.getName()); for (Info info : infoList) { final String className = info.getName() + "$$"; final ClassInfo i = parent.classInfos.get(className); if (i == null) continue;
public List<Constructor> findAnnotatedConstructors(Class<? extends Annotation> annotation) { classesNotLoaded.clear(); List<ClassInfo> seen = new ArrayList<ClassInfo>(); List<Constructor> constructors = new ArrayList<Constructor>(); List<Info> infos = getAnnotationInfos(annotation.getName()); for (Info info : infos) { if (info instanceof MethodInfo && info.getName().equals("<init>")) { MethodInfo methodInfo = (MethodInfo) info; ClassInfo classInfo = methodInfo.getDeclaringClass(); if (seen.contains(classInfo)) continue; seen.add(classInfo); try { Class clazz = classInfo.get(); for (Constructor constructor : clazz.getConstructors()) { if (constructor.isAnnotationPresent(annotation)) { constructors.add(constructor); } } } catch (ClassNotFoundException e) { classesNotLoaded.add(classInfo.getName()); } } } return constructors; }
private void linkMetaAnnotations() { for (ClassInfo classInfo : classInfos.values()) { if (isMetaRoot(classInfo)) { try { metaroots.add((Class<? extends Annotation>) classInfo.get()); } catch (ClassNotFoundException e) { classesNotLoaded.add(classInfo.getName()); } } } for (Class<? extends Annotation> metaroot : metaroots) { List<Info> infoList = annotated.get(metaroot.getName()); for (Info info : infoList) { readClassDef(info.getName() + "$$"); } } }