
org.jiucheng.ioc.ClassTemplate Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jiucheng Show documentation
Show all versions of jiucheng Show documentation
jiucheng is a java speed development of lightweight framework.
The newest version!
package org.jiucheng.ioc;
import java.lang.annotation.Annotation;
import java.util.List;
public class ClassTemplate {
public static List> listClass(String packageName) {
ClassScanner classScanner = new AbstractClassScanner() {
public boolean accept(Class> clazz) {
return true;
}
};
return classScanner.listClass(packageName);
}
public static List> listClassByAnnotation(String packageName, final Class extends Annotation>... annotationClasses) {
ClassScanner classScanner = new AbstractClassScanner() {
public boolean accept(Class> clazz) {
boolean r = false;
for(Class extends Annotation> annotaion : annotationClasses) {
if(null != clazz.getAnnotation(annotaion)) {
r = true;
break;
}
}
return r;
}
};
return classScanner.listClass(packageName);
}
public static List> listClassBySuper(String packageName, final Class>... classes) {
ClassScanner classScanner = new AbstractClassScanner() {
public boolean accept(Class> clazz) {
boolean r = false;
for(Class> cls : classes) {
while (null != clazz) {
if(clazz == cls) {
r = true;
break;
}
clazz = clazz.getSuperclass();
}
}
return r;
}
};
return classScanner.listClass(packageName);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy