Java 类org.springframework.util.ReflectionUtils.FieldFilter 实例源码
项目:phone
文件:MyBatisUtil.java
/**
* 解析对象为Model
* 自定义filter
* @param obj
* @param parseSuper 是否解析父类
* @return
*/
public static List<Model> parseByObject(Object obj,boolean parseSuper,FieldFilter ff){
List<Model> list = new ArrayList<>();
if (obj==null) {
return list;
}
//解析Field
FieldCallback fc = new FieldCallback() {
@Override
public void doWith(Field field) throws IllegalArgumentException, IllegalAccessException {
if (ff != null && !ff.matches(field)) {
return;
}
Model m = parseByField(obj, field);
if (m!=null) {
list.add(m);
}
}
};
if (parseSuper) {
ReflectionUtil.doWithFields(obj.getClass(),fc);
}else{
ReflectionUtil.doWithLocalFields(obj.getClass(),fc);
}
return list;
}