public <T> List<Class<? extends T>> findSubclasses(Class<T> clazz) { if (clazz == null) throw new NullPointerException("class cannot be null"); classesNotLoaded.clear(); final ClassInfo classInfo = classInfos.get(clazz.getName()); List<Class<? extends T>> found = new ArrayList<Class<? extends T>>(); if (classInfo == null) return found; findSubclasses(classInfo, found, clazz); return found; }
public <T> List<Class<? extends T>> findSubclasses(Class<T> clazz) { if (clazz == null) throw new NullPointerException("class cannot be null"); classesNotLoaded.clear(); final ClassInfo classInfo = classInfos.get(clazz.getName()); List<Class<? extends T>> found = new ArrayList<Class<? extends T>>(); if (classInfo == null) return found; findSubclasses(classInfo, found, clazz); return found; }
public <T> List<Class<? extends T>> findSubclasses(Class<T> clazz) { if (clazz == null) throw new NullPointerException("class cannot be null"); classesNotLoaded.clear(); final ClassInfo classInfo = classInfos.get(clazz.getName()); List<Class<? extends T>> found = new ArrayList<Class<? extends T>>(); if (classInfo == null) return found; findSubclasses(classInfo, found, clazz); return found; }
private <T> void findSubclasses(ClassInfo classInfo, List<Class<? extends T>> found, Class<T> clazz) { for (ClassInfo subclassInfo : classInfo.subclassInfos) { try { found.add(subclassInfo.get().asSubclass(clazz)); } catch (ClassNotFoundException e) { classesNotLoaded.add(subclassInfo.getName()); } findSubclasses(subclassInfo, found, clazz); } }
private <T> void findSubclasses(ClassInfo classInfo, List<Class<? extends T>> found, Class<T> clazz) { for (ClassInfo subclassInfo : classInfo.subclassInfos) { try { found.add(subclassInfo.get().asSubclass(clazz)); } catch (ClassNotFoundException e) { classesNotLoaded.add(subclassInfo.getName()); } findSubclasses(subclassInfo, found, clazz); } }
private <T> void findSubclasses(ClassInfo classInfo, List<Class<? extends T>> found, Class<T> clazz) { for (ClassInfo subclassInfo : classInfo.subclassInfos) { try { found.add(subclassInfo.get().asSubclass(clazz)); } catch (ClassNotFoundException e) { classesNotLoaded.add(subclassInfo.getName()); } findSubclasses(subclassInfo, found, clazz); } }