package foundation.geography; import foundation.dao.preload.Bucket; import foundation.data.entity.Entity; import foundation.json.IJSONProvider; import foundation.json.IJSONWriter; public class Province implements IJSONProvider { private String id; private String name; private Bucket citys; public Province() { citys = new Bucket(); } public void load(Entity entity) { id = entity.getString("id"); name = entity.getString("name"); } public void loadOneCity(City city) { citys.loadOne(city.getId(), city); } public String getId() { return id; } @Override public void writeJSON(IJSONWriter writer) { writer.beginObject("province"); writeJSONBody(writer); writer.endObject(); } public void writeJSONBody(IJSONWriter writer) { //1. body writer.write("id", id); writer.write("code", name); writer.write("name", name); //2. items writer.beginArray("items"); for (City city: citys) { writer.beginObject(); city.writeJSONBody(writer); writer.endObject(); } writer.endArray(); } }