public class BeanHelper extends Object
| 限定符和类型 | 字段和说明 |
|---|---|
static Set<Class<?>> |
SMIPLE_CLASS_SET
简单数据类型集合
|
static Set<Class<?>> |
WRAPPER_CLASS_SET
基本类型包装类集合
|
| 构造器和说明 |
|---|
BeanHelper() |
| 限定符和类型 | 方法和说明 |
|---|---|
static <B,T> B |
createBean(Class<B> clazz,
Map<String,T> properties)
创建指定类型的 Java Bean,并设置相关属性或成员变量
|
static <B,T> B |
createBean(Class<B> clazz,
Map<String,T> valueMap,
Map<String,String> keyMap)
创建指定类型的 Java Bean,并设置相关属性或成员变量
|
static <B,T> B |
createBeanByFieldValues(Class<B> clazz,
Map<String,T> values)
创建指定类型的 Java Bean,并设置相关属性
|
static <B,T> B |
createBeanByFieldValues(Class<B> clazz,
Map<String,T> values,
Map<String,String> keyMap)
创建指定类型的 Java Bean,并设置相关属性
|
static <B,T> B |
createBeanByProperties(Class<B> clazz,
Map<String,T> properties)
创建指定类型的 Java Bean,并设置相关属性
|
static <B,T> B |
createBeanByProperties(Class<B> clazz,
Map<String,T> properties,
Map<String,String> keyMap)
创建指定类型的 Java Bean,并设置相关属性
|
static Set<Field> |
getAllFields(Class<?> clazz)
获取某个类所有成员变量的
Field 对象 |
static Set<Field> |
getAllFields(Class<?> clazz,
Class<?> stopClazz)
获取某个类所有成员变量的
Field 对象 |
static Set<Method> |
getAllMethods(Class<?> clazz)
获取某个类所有方法的
Method 对象 |
static Set<Method> |
getAllMethods(Class<?> clazz,
Class<?> stopClazz)
获取某个类所有方法的
Method 对象 |
static <T> Result<Boolean,T> |
getFieldValue(Object bean,
Field field)
获取 Java Bean 的名称为 name 的成员值
|
static <T> Result<Boolean,T> |
getFieldValue(Object bean,
String name)
获取 Java Bean 的名称为 name 的成员值
|
static Map<String,Object> |
getFieldValues(Object bean)
获取 Java Bean 的成员变量值
|
static Field |
getFiledByName(Class<?> clazz,
Class<?> stopClazz,
String name)
获取某个类中名称为 name 的成员变量的
Field 对象 |
static Field |
getFiledByName(Class<?> clazz,
String name)
获取某个类中名称为 name 的成员变量的
Field 对象 |
static Map<String,Field> |
getInstanceFieldMap(Class<?> clazz)
获取指定类型 Java Bean 的所有成员成员变量的
Field 对象(包括 stopClass 及更高层父类除外的所有父类定义的成员变量)
,该方法会屏蔽父类的同名成员变量 |
static Map<String,Field> |
getInstanceFieldMap(Class<?> clazz,
Class<?> stopClazz)
获取指定类型 Java Bean 的所有成员变量的
Field 对象(包括 stopClass 及更高层父类除外的所有父类定义的成员变量)
,该方法会屏蔽父类的同名成员变量 |
static Set<Field> |
getInstanceFields(Class<?> clazz)
获取某个类所有成员成员变量的
Field 对象 |
static Set<Field> |
getInstanceFields(Class<?> clazz,
Class<?> stopClazz)
获取某个类所有成员成员变量的
Field 对象 |
static Field |
getInstanceFiledByName(Class<?> clazz,
Class<?> stopClazz,
String name)
获取某个类中名称为 name 的成员变量的
Field 对象 |
static Field |
getInstanceFiledByName(Class<?> clazz,
String name)
获取某个类中名称为 name 的成员成员变量的
Field 对象 |
static Method |
getMethod(Class<?> clazz,
String name,
Class<?>... parameterTypes)
|
static Method |
getMethodByName(Class<?> clazz,
Class<?> stopClazz,
String name,
Class<?>... parameterTypes)
获取某个类中名称为 name,参数为 parameterTypes 的方法的
Method 对象 |
static Method |
getMethodByName(Class<?> clazz,
String name,
Class<?>... parameterTypes)
获取某个类中名称为 name,参数为 parameterTypes 的方法的
Method 对象 |
static PropertyDescriptor |
getPropDescByName(Class<?> startClass,
Class<?> stopClass,
String name)
获取指定类型 Java Bean 的名称为 name 的属性描述对象
|
static PropertyDescriptor |
getPropDescByName(Class<?> startClass,
String name)
获取指定类型 Java Bean 的名称为 name 的属性描述对象
|
static Map<String,PropertyDescriptor> |
getPropDescMap(Class<?> startClass)
获取指定类型 Java Bean 的所有属性描述(包括 Object 类除外的所有父类定义的属性)
|
static Map<String,PropertyDescriptor> |
getPropDescMap(Class<?> startClass,
Class<?> stopClass)
获取指定类型 Java Bean 的所有属性描述(包括 stopClass 及更高层父类除外的所有父类定义的属性)
|
static Map<String,Object> |
getProperties(Object bean)
获取 Java Bean 的属性
|
static <T> Result<Boolean,T> |
getProperty(Object bean,
PropertyDescriptor pd)
获取 Java Bean 的名称为 name 的属性值
|
static <T> Result<Boolean,T> |
getProperty(Object bean,
String name)
获取 Java Bean 的名称为 name 的属性值
|
static Method |
getPropertyMethod(PropertyDescriptor pd,
boolean readOrWrite)
获取属性的 getter 或 setter 方法的
Method 对象 |
static <T> Result<Boolean,T> |
getPropertyOrFieldValue(Object bean,
String name)
设置 Java Bean 的名称为 name 的属性值,如果 getter 方法不存在,则尝试直接获取成员变量的值
|
static Method |
getPropertyReadMethod(Class<?> startClass,
Class<?> stopClass,
String property)
获取属性的 getter 方法的
Method 对象 |
static Method |
getPropertyReadMethod(Class<?> startClass,
String property)
获取属性的 getter 方法的
Method 对象 |
static Method |
getPropertyReadMethod(PropertyDescriptor pd)
获取属性的 getter 方法的
Method 对象 |
static Method |
getPropertyWriteMethod(Class<?> startClass,
Class<?> stopClass,
String property)
获取属性的 setter 方法的
Method 对象 |
static Method |
getPropertyWriteMethod(Class<?> startClass,
String property)
获取属性的 setter 方法的
Method 对象 |
static Method |
getPropertyWriteMethod(PropertyDescriptor pd)
获取属性的 setter 方法的
Method 对象 |
static <T> T |
invokeGetFieldValue(Object bean,
Field field)
通过反射机制获取成员变量值,失败则抛出异常
|
static <T> T |
invokeMethod(Object bean,
Method method,
Object... param)
通过反射机制调用方法,失败则抛出异常
|
static void |
invokeSetFieldValue(Object bean,
Field field,
Object value)
通过反射机制设置成员变量值,失败则抛出异常
|
static boolean |
isCascadable(Class<?> clazz)
检查类是否可以联级装配
|
static boolean |
isCascadableField(Field f)
检查成员变量是否可以联级装配
|
static boolean |
isCascadableProperty(PropertyDescriptor pd)
检查属性是否可以联级装配
|
static boolean |
isCompatibleArray(Class<?> srcClazz,
Class<?> destClazz)
检查源数组的元素类型是否兼容目标数组的元素类型
|
static boolean |
isCompatibleType(Class<?> srcClazz,
Class<?> destClazz)
检查源类型是否兼容目标类型
|
static boolean |
isInstanceField(Field field)
检查是否为非抽象公共实例方法
|
static boolean |
isInstanceNotFinalField(Field field)
检查是否为非抽象公共实例方法
|
static boolean |
isPublicClass(Class<?> clazz)
检查是否为公共类
|
static boolean |
isPublicInstanceMethod(Method method)
检查是否为非抽象公共实例方法
|
static boolean |
isPublicInterface(Class<?> clazz)
检查是否为公共接口
|
static boolean |
isPublicNotAbstractClass(Class<?> clazz)
检查是否为非接口非抽象公共类
|
static boolean |
isSimpleType(Class<?> clazz)
检查 clazz 是否为简单数据类型
|
static boolean |
isWrapperAndPrimitiveMatch(Class<?> wrapperClazz,
Class<?> primitiveClass)
检查包装类和基础类型是否匹配
|
static boolean |
isWrapperType(Class<?> clazz)
检查 clazz 是否为基础类型包装类
|
static <T> Result<Boolean,Object> |
parseValue(T value,
Class<?> clazz,
Type genericType)
把对象转换为目标类型
|
static <T> boolean |
setFieldValue(Object bean,
Field field,
T value)
设置 Java Bean 的属性
|
static <T> boolean |
setFieldValue(Object bean,
String name,
T value)
设置 Java Bean 的名称为 name 的成员变量值
|
static <T> void |
setFieldValues(Object bean,
Map<String,T> values)
设置 Java Bean 的属性
|
static <T> void |
setFieldValues(Object bean,
Map<String,T> values,
Map<String,String> keyMap)
设置 Java Bean 的属性
|
static <T> void |
setProperties(Object bean,
Map<String,T> properties)
设置 Java Bean 的属性
|
static <T> void |
setProperties(Object bean,
Map<String,T> properties,
Map<String,String> keyMap)
设置 Java Bean 的属性
|
static <T> void |
setPropertiesOrFieldValues(Object bean,
Map<String,T> valueMap)
设置 Java Bean 的属性
|
static <T> void |
setPropertiesOrFieldValues(Object bean,
Map<String,T> valueMap,
Map<String,String> keyMap)
设置 Java Bean 的属性
|
static <T> boolean |
setProperty(Object bean,
PropertyDescriptor pd,
T value)
设置 Java Bean 的属性
|
static <T> boolean |
setProperty(Object bean,
String name,
T value)
设置 Java Bean 的名称为 name 的属性值
|
static <T> boolean |
setPropertyOrFieldValue(Object bean,
String name,
T value)
设置 Java Bean 的名称为 name 的属性或成员变量值,如果 setter 方法不存在,则尝试直接修改成员变量
|
static <T> Result<Boolean,T> |
tryInvokeGetFieldValue(Object bean,
Field field)
通过反射机制获取成员变量值,执行结果由
Result 标识,不抛出异常 |
static <T> Result<Boolean,T> |
tryInvokeMethod(Object bean,
Method method,
Object... param)
通过反射机制调用方法,执行结果由
Result 标识,不抛出异常 |
static boolean |
tryInvokeSetFieldValue(Object bean,
Field field,
Object value)
通过反射机制设置成员变量值,失败则返回 false,不抛出异常
|
public static final boolean isInstanceField(Field field)
public static final boolean isInstanceNotFinalField(Field field)
public static final boolean isPublicInstanceMethod(Method method)
public static final boolean isPublicInterface(Class<?> clazz)
public static final boolean isPublicClass(Class<?> clazz)
public static final boolean isPublicNotAbstractClass(Class<?> clazz)
public static final boolean isSimpleType(Class<?> clazz)
public static final boolean isWrapperType(Class<?> clazz)
public static final boolean isWrapperAndPrimitiveMatch(Class<?> wrapperClazz, Class<?> primitiveClass)
public static final boolean isCompatibleType(Class<?> srcClazz, Class<?> destClazz)
public static final boolean isCompatibleArray(Class<?> srcClazz, Class<?> destClazz)
public static final boolean isCascadableProperty(PropertyDescriptor pd)
public static final boolean isCascadableField(Field f)
public static final boolean isCascadable(Class<?> clazz)
public static final <B,T> B createBean(Class<B> clazz, Map<String,T> properties)
public static final <B,T> B createBean(Class<B> clazz, Map<String,T> valueMap, Map<String,String> keyMap)
clazz - : Bean 类型valueMap - : 属性或成员变量名 / 值映射String 类型,与属性或成员变量名称可能一直也可能不一致String 类型:先执行自动类型转换再对属性或成员变量赋值String[] 类型:先执行自动类型转换再对属性或成员变量赋值keyMap - : properties.key / Bean 属性或成员变量名映射,当 properties 的 key 与属性或成员变量名不对应时,
用 keyMap 把它们关联起来public static final <B,T> B createBeanByProperties(Class<B> clazz, Map<String,T> properties)
public static final <B,T> B createBeanByProperties(Class<B> clazz, Map<String,T> properties, Map<String,String> keyMap)
public static final <B,T> B createBeanByFieldValues(Class<B> clazz, Map<String,T> values)
public static final <B,T> B createBeanByFieldValues(Class<B> clazz, Map<String,T> values, Map<String,String> keyMap)
public static final <T> void setProperties(Object bean, Map<String,T> properties)
public static final <T> void setProperties(Object bean, Map<String,T> properties, Map<String,String> keyMap)
public static final <T> void setFieldValues(Object bean, Map<String,T> values)
public static final <T> void setFieldValues(Object bean, Map<String,T> values, Map<String,String> keyMap)
public static final <T> void setPropertiesOrFieldValues(Object bean, Map<String,T> valueMap)
public static final <T> void setPropertiesOrFieldValues(Object bean, Map<String,T> valueMap, Map<String,String> keyMap)
public static final <T> boolean setProperty(Object bean, PropertyDescriptor pd, T value)
public static final <T> boolean setFieldValue(Object bean, Field field, T value)
public static final <T> Result<Boolean,Object> parseValue(T value, Class<?> clazz, Type genericType)
public static final <T> T invokeMethod(Object bean, Method method, Object... param)
public static final <T> Result<Boolean,T> tryInvokeMethod(Object bean, Method method, Object... param)
Result 标识,不抛出异常public static final <T> T invokeGetFieldValue(Object bean, Field field)
public static final <T> Result<Boolean,T> tryInvokeGetFieldValue(Object bean, Field field)
Result 标识,不抛出异常public static final void invokeSetFieldValue(Object bean, Field field, Object value)
public static final boolean tryInvokeSetFieldValue(Object bean, Field field, Object value)
public static final Map<String,PropertyDescriptor> getPropDescMap(Class<?> startClass)
startClass - : Bean 类型public static final Map<String,PropertyDescriptor> getPropDescMap(Class<?> startClass, Class<?> stopClass)
startClass - : Bean 类型stopClass - : 截止查找的父类类型public static final Map<String,Object> getProperties(Object bean)
bean - : Bean 实例public static final PropertyDescriptor getPropDescByName(Class<?> startClass, String name)
startClass - : Bean 类型name - : 属性名称public static final PropertyDescriptor getPropDescByName(Class<?> startClass, Class<?> stopClass, String name)
startClass - : Bean 类型stopClass - : 截止查找的父类类型name - : 属性名称public static final Method getPropertyReadMethod(Class<?> startClass, String property)
Method 对象startClass - : Bean 类型property - : 属性名称public static final Method getPropertyReadMethod(Class<?> startClass, Class<?> stopClass, String property)
Method 对象startClass - : Bean 类型stopClass - : 截止查找的父类类型property - : 属性名称public static final Method getPropertyReadMethod(PropertyDescriptor pd)
Method 对象pd - : 属性的 PropertyDescriptor 描述符Method 对象,找不到则返回 nullpublic static final Method getPropertyWriteMethod(Class<?> startClass, String property)
Method 对象startClass - : Bean 类型property - : 属性名称public static final Method getPropertyWriteMethod(Class<?> startClass, Class<?> stopClass, String property)
Method 对象startClass - : Bean 类型stopClass - : 截止查找的父类类型property - : 属性名称public static final Method getPropertyWriteMethod(PropertyDescriptor pd)
Method 对象pd - : 属性的 PropertyDescriptor 描述符Method 对象,找不到则返回 nullpublic static final Method getPropertyMethod(PropertyDescriptor pd, boolean readOrWrite)
Method 对象pd - : 属性的 PropertyDescriptor 描述符readOrWrite - : 标识:true -> getter, false -> setterMethod 对象,找不到则返回 nullpublic static final <T> boolean setProperty(Object bean, String name, T value)
public static final <T> Result<Boolean,T> getProperty(Object bean, String name)
bean - : Bean 实例name - : 属性名称RuntimeException - 失败则抛出相应的运行期异常public static final <T> Result<Boolean,T> getProperty(Object bean, PropertyDescriptor pd)
bean - : Bean 实例pd - : 属性描述符RuntimeException - 失败则抛出相应的运行期异常public static <T> boolean setFieldValue(Object bean, String name, T value)
public static final <T> Result<Boolean,T> getFieldValue(Object bean, String name)
bean - : Bean 实例name - : 成员变量名称RuntimeException - 失败则抛出相应的运行期异常public static final <T> Result<Boolean,T> getFieldValue(Object bean, Field field)
bean - : Bean 实例field - : 成员变量 Field 对象RuntimeException - 失败则抛出相应的运行期异常public static final <T> boolean setPropertyOrFieldValue(Object bean, String name, T value)
public static final <T> Result<Boolean,T> getPropertyOrFieldValue(Object bean, String name)
bean - : Bean 实例name - : 属性名称或成员变量名称public static final Set<Field> getAllFields(Class<?> clazz)
Field 对象clazz - : 要查找的类public static final Set<Field> getAllFields(Class<?> clazz, Class<?> stopClazz)
Field 对象clazz - : 要查找的类stopClazz - : 终止查找的类(这个类的成员变量也不被获取)public static final Set<Field> getInstanceFields(Class<?> clazz)
Field 对象clazz - : 要查找的类public static final Set<Field> getInstanceFields(Class<?> clazz, Class<?> stopClazz)
Field 对象clazz - : 要查找的类stopClazz - : 终止查找的类(这个类的成员变量也不被获取)public static final Map<String,Field> getInstanceFieldMap(Class<?> clazz)
Field 对象(包括 stopClass 及更高层父类除外的所有父类定义的成员变量)
,该方法会屏蔽父类的同名成员变量public static final Map<String,Field> getInstanceFieldMap(Class<?> clazz, Class<?> stopClazz)
Field 对象(包括 stopClass 及更高层父类除外的所有父类定义的成员变量)
,该方法会屏蔽父类的同名成员变量clazz - : Bean 类型stopClazz - : 截止查找的父类类型public static final Map<String,Object> getFieldValues(Object bean)
bean - : Bean 实例public static final Field getFiledByName(Class<?> clazz, String name)
Field 对象clazz - : 要查找的类name - : 方法名称public static final Field getFiledByName(Class<?> clazz, Class<?> stopClazz, String name)
Field 对象clazz - : 要查找的类stopClazz - : 终止查找的类(这个类的成员变量也不被获取)name - : 方法名称public static final Field getInstanceFiledByName(Class<?> clazz, String name)
Field 对象clazz - : 要查找的类name - : 方法名称public static final Field getInstanceFiledByName(Class<?> clazz, Class<?> stopClazz, String name)
Field 对象clazz - : 要查找的类stopClazz - : 终止查找的类(这个类的成员变量也不被获取)name - : 方法名称public static final Set<Method> getAllMethods(Class<?> clazz)
Method 对象clazz - : 要查找的类public static final Set<Method> getAllMethods(Class<?> clazz, Class<?> stopClazz)
Method 对象clazz - : 要查找的类stopClazz - : 终止查找的类(这个类的方法也不被获取)public static final Method getMethodByName(Class<?> clazz, String name, Class<?>... parameterTypes)
Method 对象clazz - : 要查找的类name - : 方法名称parameterTypes - : 参数类型public static final Method getMethodByName(Class<?> clazz, Class<?> stopClazz, String name, Class<?>... parameterTypes)
Method 对象clazz - : 要查找的类stopClazz - : 终止查找的类(这个类的方法也不被获取)name - : 方法名称parameterTypes - : 参数类型Copyright © 2015 JessMA Open Source. All rights reserved.