package policy.rule; import java.util.ArrayList; import java.util.List; import foundation.json.IJSONProvider; import foundation.json.IJSONWriter; public class CheckResult implements IJSONProvider { private RuleMeta meta; private CheckBoard parent; private boolean success; private List remarks; public CheckResult(RuleMeta meta, CheckBoard parent) { remarks = new ArrayList(); this.meta = meta; this.parent = parent; } public void setSuccess(boolean value) { this.success = value; parent.setChildSuccess(value); } public void writeOneRemark(String line) { remarks.add(line); } public void clearRemarks() { remarks.clear(); } @Override public void writeJSON(IJSONWriter writer) { writer.beginObject(); // 1. success writer.write("success", success); // 2. meta writer.write("name", meta.getName()); writer.write("title", meta.getTitle()); writer.write("value", meta.getValue()); writer.write("unit", meta.getUnit()); writer.write("level", meta.getLevel().name()); // 3. remarks writer.beginArray("remark"); for (String remark : remarks) { writer.write(remark); } writer.endArray(); writer.endObject(); } }