package foundation.dao.version; import java.util.List; import foundation.json.IJSONWriter; import foundation.util.MapList; public class EntitySetChange implements IDataChange { private String dataName; private ChangeType changeType; private MapList entitys; public EntitySetChange(String dataName) { this.dataName = dataName; entitys = new MapList(); } public void addOneEntityChange(String id, EntityChange entityChange) { entitys.add(id, entityChange); } public void setChangeType(ChangeType changeType) { this.changeType = changeType; } public String getDataName() { return dataName; } public ChangeType getChangeType() { return changeType; } public List getEntitys() { return entitys.getItemList(); } @Override public void writeJSON(IJSONWriter writer) { writer.beginObject(dataName); //1. 变更类型 writer.write("change_type", changeType.name()); if (ChangeType.NoChange == changeType) { writer.endObject(); return; } //2. 变更的entity writer.beginArray("entitys"); for (EntityChange entityChange: entitys) { entityChange.writeJSON(writer); } writer.endArray(); writer.endObject(); } }