package foundation.dictionary;
|
|
import foundation.data.entity.Entity;
|
import foundation.data.entity.IDictionary;
|
import foundation.json.IJSONProvider;
|
import foundation.json.IJSONWriter;
|
import foundation.util.MapList;
|
|
public class Dictionary implements IDictionary, IJSONProvider {
|
|
private String id;
|
private String code;
|
private String name;
|
private String dataName;
|
private String fieldCode;
|
private String fieldName;
|
private MapList<String, DictionaryItem> items;
|
|
public Dictionary() {
|
items = new MapList<String, DictionaryItem>();
|
}
|
|
public void load(Entity entity) {
|
id = entity.getString("id");
|
code = entity.getString("code");
|
name = entity.getString("name");
|
dataName = entity.getString("dataName");
|
fieldCode = entity.getString("field_code");
|
fieldName = entity.getString("field_name");
|
}
|
|
public void loadOne(DictionaryItem item) {
|
items.add(item.getCode(), item);
|
}
|
|
@Override
|
public String getId() {
|
return id;
|
}
|
|
@Override
|
public String getName() {
|
return name;
|
}
|
|
public String getDataName() {
|
return dataName;
|
}
|
|
public String getFieldCode() {
|
return fieldCode;
|
}
|
|
public String getFieldName() {
|
return fieldName;
|
}
|
|
@Override
|
public String getValue(String code) {
|
DictionaryItem item = items.get(code);
|
|
if (item == null) {
|
return code;
|
}
|
|
return item.getValue();
|
}
|
|
@Override
|
public void writeJSON(IJSONWriter writer) {
|
writer.beginObject();
|
writeJSONBody(writer);
|
writer.endObject();
|
}
|
|
public void writeJSONBody(IJSONWriter writer) {
|
//1. body
|
writer.write("id", id);
|
writer.write("code", code);
|
writer.write("name", name);
|
|
//2. items
|
writer.beginArray("items");
|
|
for (DictionaryItem item: items) {
|
writer.beginObject();
|
item.writeJSONBody(writer);
|
writer.endObject();
|
}
|
|
writer.endArray();
|
}
|
|
}
|