package foundation.handler; import java.util.ArrayList; import java.util.List; import foundation.json.IJSONProvider; import foundation.json.IJSONWriter; public class Validation implements IJSONProvider { private int cnt_alert; private int cnt_reject; private List items; public Validation() { cnt_alert = 0; cnt_reject = 0; items = new ArrayList(); } public synchronized void addOneLine(MessageLevel level, String message) { if (MessageLevel.Alert == level) { cnt_alert++; } else if (MessageLevel.Reject == level || MessageLevel.Error == level) { cnt_reject++; } ValidationLine line = new ValidationLine(level, message); items.add(line); } public boolean success() { return (cnt_reject == 0); } @Override public void writeJSON(IJSONWriter writer) { writer.beginObject("validation"); //1. count writer.beginObject("count"); writer.write("alert", cnt_alert); writer.write("reject", cnt_reject); writer.endObject(); //2. list writer.beginArray("list"); for (ValidationLine item: items) { item.writeJSON(writer); } writer.endArray(); writer.endObject(); } }