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<String, EntityChange> entitys;
|
|
|
public EntitySetChange(String dataName) {
|
this.dataName = dataName;
|
entitys = new MapList<String, EntityChange>();
|
}
|
|
|
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<EntityChange> 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();
|
}
|
|
}
|