public class ReflectUtil
extends java.lang.Object
ReflectUtil
功能描述:根据包名或者类名(pack)路径获取包下或者子包下的所有包,类,类的属性
1)获取包的方法不再是循环遍历获取包路径下的所有子包,只且只获取包路径下的子包.
当参数pack后缀以.结尾时对pack做了处理.
2)获取类的方法当参数pack后缀为.结尾时对pack做了处理.
创建人: 张渊
创建日期: 2014-3-3 下午06:10:37
开发环境: JDK6.0| Constructor and Description |
|---|
ReflectUtil() |
| Modifier and Type | Method and Description |
|---|---|
static java.lang.Class<?> |
getClass(java.lang.String classPath)
获取类
|
static java.lang.String |
getClassDes(java.lang.String classPath)
功能描述:获取实体类的描述
|
static java.util.Set<java.lang.Class<?>> |
getClasses(java.lang.String[] pack)
功能描述:从包package中和其子包中获取所有的Class
|
static java.util.Set<java.lang.Class<?>> |
getClasses(java.lang.String[] pack,
boolean recursive)
功能描述:从包package中和其子包中获取所有的Class
|
static java.util.Set<java.lang.Class<?>> |
getClasses(java.lang.String[] pack,
boolean recursive,
java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass)
功能描述:从包package中和其子包中获取所有标有指定annotation的class
|
static java.util.Set<java.lang.Class<?>> |
getClasses(java.lang.String[] pack,
java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass)
功能描述:从包package中和其子包中获取所有的Class
|
static java.util.List<java.lang.String> |
getClassPath(java.lang.String[] pack,
java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass)
功能描述: 获取类的路径
|
static java.lang.reflect.Field |
getField(java.lang.Class<?> clazz,
java.lang.String fieldName)
功能描述: 得到类对象中某个已知字段名的字段对象 (包括其父类)
|
static boolean |
getFieldIsNull(java.lang.reflect.Field field)
功能描述: 得到指定字段的数据是否为空
|
static java.lang.String |
getFieldLength(java.lang.reflect.Field field)
功能描述: 得到指定字段的数据长度
|
static java.util.Map<java.lang.String,java.lang.Object> |
getFieldProperties(java.lang.reflect.Field field)
功能描述:获取字段的属性(包含常用属性:长度、类型等)
|
static java.util.List<java.util.Map<java.lang.String,java.lang.Object>> |
getFieldProperties(java.lang.String classPath)
功能描述:获取对应类的所有字段属性
|
static java.util.Set<java.lang.reflect.Field> |
getFields(java.lang.Class<?> clazz,
java.lang.Boolean isGetSuperField)
功能描述: 得到某个类对象的所有字段信息,如果标注了@MappedSuperclass
|
static java.util.List<java.lang.reflect.Field> |
getFields(java.lang.Class<?> clazz,
java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass)
功能描述:获取具有指定注解的字段
|
static java.util.Map<java.lang.String,java.lang.Object> |
getIdFieldProperties(java.lang.String classPath)
功能描述: 获取id字段的属性
|
static java.util.List<java.lang.String> |
getPackage(java.lang.String pack)
功能描述:仅从包package中获取(不含子包)的所有包
|
static java.util.List<java.lang.String> |
getPackage(java.lang.String pack,
boolean recursive)
功能描述:从包package中和其子包中获取所有包
|
static java.util.List<java.util.Map<java.lang.String,java.lang.Object>> |
getZtreeNodes(java.util.List<java.lang.String> pathList)
功能描述:将类路径转化为树节点
|
static boolean |
isRelationField(java.lang.reflect.Field field)
功能描述: 判断该字段属不属于关系型字段
|
static void |
main(java.lang.String[] args) |
public static java.util.List<java.lang.String> getPackage(java.lang.String pack,
boolean recursive)
pack - 包名recursive - 是否循环获取其子包中的数据 true = 是; false = 否java.io.IOExceptionpublic static java.util.List<java.lang.String> getPackage(java.lang.String pack)
pack - java.lang.ClassNotFoundExceptionjava.io.IOExceptionpublic static java.lang.Class<?> getClass(java.lang.String classPath)
public static java.util.Set<java.lang.Class<?>> getClasses(java.lang.String[] pack)
pack - 包名public static java.util.Set<java.lang.Class<?>> getClasses(java.lang.String[] pack,
java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass)
pack - annotationClass - 指定的注解类public static java.util.Set<java.lang.Class<?>> getClasses(java.lang.String[] pack,
boolean recursive)
pack - 包名recursive - 是否循环获取其子包中的数据 true = 是; false = 否public static java.util.Set<java.lang.Class<?>> getClasses(java.lang.String[] pack,
boolean recursive,
java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass)
pack - 包名recursive - 是否循环获取其子包中的数据 true = 是; false = 否annotationClass - 指定的注解类 如:javax.persistence.Entity.classpublic static java.util.Set<java.lang.reflect.Field> getFields(java.lang.Class<?> clazz,
java.lang.Boolean isGetSuperField)
clazz - public static java.lang.reflect.Field getField(java.lang.Class<?> clazz,
java.lang.String fieldName)
clazz - 类对象fieldName - 字段名public static java.util.List<java.lang.reflect.Field> getFields(java.lang.Class<?> clazz,
java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass)
clazz - Class 类annotationClass - 指定的注解public static java.lang.String getFieldLength(java.lang.reflect.Field field)
field - public static boolean getFieldIsNull(java.lang.reflect.Field field)
field - public static boolean isRelationField(java.lang.reflect.Field field)
field - public static java.util.Map<java.lang.String,java.lang.Object> getFieldProperties(java.lang.reflect.Field field)
field - public static java.util.List<java.lang.String> getClassPath(java.lang.String[] pack,
java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass)
pack - 包名的前缀(数组)annotationClass - 获取指定注解的类public static java.util.Map<java.lang.String,java.lang.Object> getIdFieldProperties(java.lang.String classPath)
classPath - 类路径public static java.util.List<java.util.Map<java.lang.String,java.lang.Object>> getFieldProperties(java.lang.String classPath)
classPath - 类路径public static java.lang.String getClassDes(java.lang.String classPath)
classPath类路径 - public static java.util.List<java.util.Map<java.lang.String,java.lang.Object>> getZtreeNodes(java.util.List<java.lang.String> pathList)
pathList - 类的全路径集合public static void main(java.lang.String[] args)