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<ValidationLine> items;
|
|
|
public Validation() {
|
cnt_alert = 0;
|
cnt_reject = 0;
|
items = new ArrayList<ValidationLine>();
|
}
|
|
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();
|
}
|
|
}
|