SpringSide的工具类。 --扩展Apache Commons BeanUtils, 提供一些反射方面缺失功能的封装
pk: org.springside.core.utils
[code]public class BeanUtils extends org.apache.commons.beanutils.BeanUtils {}[/code]
在StrutsEntityAction中,用到了getFieldsByType方法.
[code]/**
* 这段代码也就是根据传递进来的Class类型,获得用该类型定义的变量的列表List.
*/
public static List<Field> getFieldsByType(Object object, Class type) {
List<Field> list = new ArrayList<Field>();
Field[] fields = object.getClass().getDeclaredFields();
for (Field field : fields) {
if (field.getType().isAssignableFrom(type)) {
list.add(field);
}
}
return list;
}[/code]
[code]Field[] fields = object.getClass().getDeclaredFields();[/code]
返回 Field 对象的一个数组,这些对象反映此 Class 对象所表示的类或接口所声明的所有字段,包括公共、保护、默认(包)访问和私有字段,但不包括继承的字段。
[code]field.getType().isAssignableFrom(type)[/code]
判定此 Class 对象所表示的类或接口与指定的 Class参数所表示的类或接口是否相同,或是否是其超类或超接口。
pk: org.springside.core.utils
[code]public class BeanUtils extends org.apache.commons.beanutils.BeanUtils {}[/code]
在StrutsEntityAction中,用到了getFieldsByType方法.
[code]/**
* 这段代码也就是根据传递进来的Class类型,获得用该类型定义的变量的列表List.
*/
public static List<Field> getFieldsByType(Object object, Class type) {
List<Field> list = new ArrayList<Field>();
Field[] fields = object.getClass().getDeclaredFields();
for (Field field : fields) {
if (field.getType().isAssignableFrom(type)) {
list.add(field);
}
}
return list;
}[/code]
[code]Field[] fields = object.getClass().getDeclaredFields();[/code]
返回 Field 对象的一个数组,这些对象反映此 Class 对象所表示的类或接口所声明的所有字段,包括公共、保护、默认(包)访问和私有字段,但不包括继承的字段。
[code]field.getType().isAssignableFrom(type)[/code]
判定此 Class 对象所表示的类或接口与指定的 Class参数所表示的类或接口是否相同,或是否是其超类或超接口。