public class ClassScanner extends Object implements Serializable
Constructor and Description |
---|
ClassScanner()
构造,默认UTF-8编码
|
ClassScanner(String packageName)
构造,默认UTF-8编码
|
ClassScanner(String packageName,
Filter<Class<?>> classFilter)
构造,默认UTF-8编码
|
ClassScanner(String packageName,
Filter<Class<?>> classFilter,
Charset charset)
构造
|
Modifier and Type | Method and Description |
---|---|
protected Object |
clone() |
Set<String> |
getClassesOfLoadError()
忽略加载错误扫描后,可以获得之前扫描时加载错误的类名字集合
|
protected Class<?> |
loadClass(String className)
加载类
|
Set<Class<?>> |
scan()
扫描包路径下满足class过滤器条件的所有class文件
此方法首先扫描指定包名下的资源目录,如果未扫描到,则扫描整个classpath中所有加载的类 |
Set<Class<?>> |
scan(boolean forceScanJavaClassPaths)
扫描包路径下满足class过滤器条件的所有class文件
|
static Set<Class<?>> |
scanAllPackage()
扫描该包路径下所有class文件,包括其他加载的jar或者类
|
static Set<Class<?>> |
scanAllPackage(String packageName,
Filter<Class<?>> classFilter)
扫描包路径下和所有在classpath中加载的类,满足class过滤器条件的所有class文件,
如果包路径为 com.abs + A.class 但是输入 abs会产生classNotFoundException 因为className 应该为 com.abs.A 现在却成为abs.A,此工具类对该异常进行忽略处理 |
static Set<Class<?>> |
scanAllPackageByAnnotation(String packageName,
Class<? extends Annotation> annotationClass)
扫描指定包路径下所有包含指定注解的类,包括其他加载的jar或者类
|
static Set<Class<?>> |
scanAllPackageBySuper(String packageName,
Class<?> superClass)
扫描指定包路径下所有指定类或接口的子类或实现类,不包括指定父类本身,包括其他加载的jar或者类
|
static Set<Class<?>> |
scanPackage()
扫描classpath下所有class文件,如果classpath下已经有类,不再扫描其他加载的jar或者类
|
static Set<Class<?>> |
scanPackage(String packageName)
扫描该包路径下所有class文件
|
static Set<Class<?>> |
scanPackage(String packageName,
Filter<Class<?>> classFilter)
扫描包路径下满足class过滤器条件的所有class文件,
如果包路径为 com.abs + A.class 但是输入 abs会产生classNotFoundException 因为className 应该为 com.abs.A 现在却成为abs.A,此工具类对该异常进行忽略处理 |
static Set<Class<?>> |
scanPackageByAnnotation(String packageName,
Class<? extends Annotation> annotationClass)
扫描指定包路径下所有包含指定注解的类
如果classpath下已经有类,不再扫描其他加载的jar或者类 |
static Set<Class<?>> |
scanPackageBySuper(String packageName,
Class<?> superClass)
扫描指定包路径下所有指定类或接口的子类或实现类,不包括指定父类本身
如果classpath下已经有类,不再扫描其他加载的jar或者类 |
void |
setClassLoader(ClassLoader classLoader)
设置自定义的类加载器
|
ClassScanner |
setIgnoreLoadError(boolean ignoreLoadError)
设置是否忽略loadClass时的错误
|
void |
setInitialize(boolean initialize)
设置是否在扫描到类时初始化类
|
public ClassScanner()
public ClassScanner(String packageName)
packageName
- 包名,所有包传入""或者nullpublic ClassScanner(String packageName, Filter<Class<?>> classFilter)
packageName
- 包名,所有包传入""或者nullclassFilter
- 过滤器,无需传入nullpublic static Set<Class<?>> scanAllPackageByAnnotation(String packageName, Class<? extends Annotation> annotationClass)
packageName
- 包路径annotationClass
- 注解类public static Set<Class<?>> scanPackageByAnnotation(String packageName, Class<? extends Annotation> annotationClass)
packageName
- 包路径annotationClass
- 注解类public static Set<Class<?>> scanAllPackageBySuper(String packageName, Class<?> superClass)
packageName
- 包路径superClass
- 父类或接口(不包括)public static Set<Class<?>> scanPackageBySuper(String packageName, Class<?> superClass)
packageName
- 包路径superClass
- 父类或接口(不包括)public static Set<Class<?>> scanAllPackage()
public static Set<Class<?>> scanPackage()
public static Set<Class<?>> scanPackage(String packageName)
packageName
- 包路径 com | com. | com.abs | com.abs.public static Set<Class<?>> scanAllPackage(String packageName, Filter<Class<?>> classFilter)
packageName
- 包路径 com | com. | com.abs | com.abs.classFilter
- class过滤器,过滤掉不需要的classpublic static Set<Class<?>> scanPackage(String packageName, Filter<Class<?>> classFilter)
packageName
- 包路径 com | com. | com.abs | com.abs.classFilter
- class过滤器,过滤掉不需要的classpublic ClassScanner setIgnoreLoadError(boolean ignoreLoadError)
ignoreLoadError
- 忽略loadClass时的错误public Set<Class<?>> scan()
public Set<Class<?>> scan(boolean forceScanJavaClassPaths)
forceScanJavaClassPaths
- 是否强制扫描其他位于classpath关联jar中的类public void setInitialize(boolean initialize)
initialize
- 是否初始化类public void setClassLoader(ClassLoader classLoader)
classLoader
- 类加载器public Set<String> getClassesOfLoadError()
protected Object clone() throws CloneNotSupportedException
clone
in class Object
CloneNotSupportedException
Copyright © 2024. All rights reserved.