package org.nutz.json;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List;
import org.nutz.json.entity.JsonEntityField;
import org.nutz.lang.Mirror;
public abstract class AbstractJsonEntityFieldMaker implements JsonEntityFieldMaker {
@Override
public List<JsonEntityField> make(Mirror<?> mirror) {
Field[] flds = mirror.getFields();
List<JsonEntityField> fields = new ArrayList<JsonEntityField>(flds.length);
for (Field fld : flds) {
JsonEntityField ef = make(mirror, fld);
if (null != ef)
fields.add(ef);
}
for (Method m : mirror.getMethods()) {
JsonEntityField ef = make(mirror, m);
if (null != ef)
fields.add(ef);
}
return fields;
}
public abstract JsonEntityField make(Mirror<?> mirror, Field field);
public JsonEntityField make(Mirror<?> mirror, Method method) {
return null;
}
}