Class ClassUtils
java.lang.Object
cool.scx.common.util.ClassUtils
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic Class<?>[]filterByBasePackage(Class<?>[] classList, String basePackageName) 根据 basePackage 对 class 进行过滤static Class<?>[]findClassListFromJar(URI jarFileURI) 读取 jar 包中的所有 classstatic Class<?>[]findClassListFromPath(Path classRootPath, ClassLoader classLoader) 根据文件获取 class 列表static PathgetAppRoot(Class<?> source) 根据 class 获取 app 根路径(文件夹)static PathgetAppRoot(URI codeSource) 根据 codeSource 获取 app 根路径(文件夹)static URIgetCodeSource(Class<?> source) 根据 class 获取源地址static Class<?> getEnumClass(Class<?> c) 获取 Enum 类的真实类 包括内部类的情况static boolean判断是否为 Enum ,Class.isEnum()无法处理内部类的情况static booleanisInstantiableClass(Class<?> c) 是否是可以实例化的类 如果类的构造函数是私有的 我们便假设此类不想让我们进行实例化static boolean判断路径是否是一个 jar 文件 (这里只是简单的使用 文件后缀判断,并不准确)static booleanisNormalClass(Class<?> c) 是一个普通类 既不是 接口也不是 抽象类
-
Constructor Details
-
ClassUtils
public ClassUtils()
-
-
Method Details
-
isEnum
判断是否为 Enum ,Class.isEnum()无法处理内部类的情况- Parameters:
c- c- Returns:
- isEnum
-
getEnumClass
-
isInstantiableClass
是否是可以实例化的类 如果类的构造函数是私有的 我们便假设此类不想让我们进行实例化- Parameters:
c- c- Returns:
- c
-
isNormalClass
-
getCodeSource
-
getAppRoot
-
getAppRoot
-
isJar
判断路径是否是一个 jar 文件 (这里只是简单的使用 文件后缀判断,并不准确)- Parameters:
path- a- Returns:
- a
-
filterByBasePackage
-
findClassListFromJar
读取 jar 包中的所有 class- Parameters:
jarFileURI- jar- Returns:
- r
- Throws:
IOException- r
-
findClassListFromPath
public static Class<?>[] findClassListFromPath(Path classRootPath, ClassLoader classLoader) throws IOException 根据文件获取 class 列表- Parameters:
classRootPath- aclassLoader- a- Returns:
- a
- Throws:
IOException- if any.
-