public class ClassScanner extends Object
| 限定符和类型 | 字段和说明 |
|---|---|
private static Set<Class<?>> |
appClassesCache |
static Set<String> |
excludeClasses |
static Set<String> |
excludeJars |
private static String |
javaHome |
private static boolean |
printScannerInfoEnable |
static Set<String> |
scanClasses |
static Set<String> |
scanJars |
| 构造器和说明 |
|---|
ClassScanner() |
| 限定符和类型 | 方法和说明 |
|---|---|
private static void |
addClass(Class clazz) |
private static void |
addClassesFromClassPath(String classPath) |
private static void |
addClassesFromJar(String jarPath) |
static void |
addScanClassPrefix(String prefix) |
static void |
addScanJarPrefix(String prefix) |
static void |
addUnscanClassPrefix(String prefix) |
static void |
addUnscanJarPrefix(String prefix) |
private static Class |
classForName(String className) |
static void |
clearAppClassesCache() |
private static <T> void |
findChildClasses(List<Class<T>> classes,
Class<T> parent,
boolean instantiable) |
private static void |
findClassPathsAndJarsByClassloader(Set<String> jarPaths,
Set<String> classPaths,
ClassLoader classLoader) |
private static void |
findClassPathsAndJarsByClassPath(Set<String> jarPaths,
Set<String> classPaths) |
private static String |
getJavaHome() |
private static void |
initAppClasses() |
private static void |
initIfNecessary() |
private static boolean |
isIncludeJar(String path) |
private static boolean |
isInstantiable(Class clazz) |
private static boolean |
isNotExcludeClass(String clazzName) |
static boolean |
isPrintScannerInfoEnable() |
static List<Class> |
scanClass() |
static List<Class> |
scanClass(boolean isInstantiable) |
static List<Class> |
scanClass(Predicate<Class> filter) |
static List<Class> |
scanClassByAnnotation(Class annotationClass,
boolean instantiable) |
private static void |
scanClassFile(List<File> fileList,
String path) |
static <T> List<Class<T>> |
scanSubClass(Class<T> pclazz) |
static <T> List<Class<T>> |
scanSubClass(Class<T> pclazz,
boolean instantiable) |
static void |
setPrintScannerInfoEnable(boolean printScannerInfoEnable) |
private static final Set<Class<?>> appClassesCache
public static final Set<String> excludeJars
public static final Set<String> scanClasses
public static final Set<String> excludeClasses
private static boolean printScannerInfoEnable
public ClassScanner()
public static boolean isPrintScannerInfoEnable()
public static void setPrintScannerInfoEnable(boolean printScannerInfoEnable)
public static void addScanJarPrefix(String prefix)
public static void addUnscanJarPrefix(String prefix)
public static void addUnscanClassPrefix(String prefix)
public static void addScanClassPrefix(String prefix)
public static <T> List<Class<T>> scanSubClass(Class<T> pclazz)
public static <T> List<Class<T>> scanSubClass(Class<T> pclazz, boolean instantiable)
public static void clearAppClassesCache()
private static boolean isInstantiable(Class clazz)
public static List<Class> scanClassByAnnotation(Class annotationClass, boolean instantiable)
private static void initIfNecessary()
private static <T> void findChildClasses(List<Class<T>> classes, Class<T> parent, boolean instantiable)
private static void initAppClasses()
private static void addClassesFromJar(String jarPath)
private static void addClassesFromClassPath(String classPath)
private static boolean isNotExcludeClass(String clazzName)
private static void findClassPathsAndJarsByClassloader(Set<String> jarPaths, Set<String> classPaths, ClassLoader classLoader)
private static void findClassPathsAndJarsByClassPath(Set<String> jarPaths, Set<String> classPaths)
private static boolean isIncludeJar(String path)
private static Class classForName(String className)
private static void scanClassFile(List<File> fileList, String path)
private static String getJavaHome()
Copyright © 2024. All rights reserved.