package foundation.icall.callin; import java.util.ArrayList; import java.util.List; import foundation.json.IJSONProvider; import foundation.json.IJSONWriter; public class NamedReceivedFields implements IJSONProvider { private boolean working; private List received; private List ignored; private boolean empty; public NamedReceivedFields() { received = new ArrayList(); ignored = new ArrayList(); working = true; empty = true; } public void addOneReceivedField(String field) { received.add(field); empty = false; } public void addOneIgnoredField(String field) { ignored.add(field); empty = false; } public List getReceived() { return received; } public List getIgnored() { return ignored; } public boolean isWorking() { return working; } public void close() { working = false; } public boolean isEmpty() { return empty; } @Override public void writeJSON(IJSONWriter writer) { writer.beginObject(); writeJSONBody(writer); writer.endObject(); } public void writeJSONBody(IJSONWriter writer) { //1.1 received writer.beginObject("received"); writer.write("count", received.size()); writer.beginArray("fields"); for (String field: received) { writer.write(field); } writer.endArray(); writer.endObject(); //1.2 ignored writer.beginObject("ignored"); writer.write("count", ignored.size()); writer.beginArray("fields"); for (String field: ignored) { writer.write(field); } writer.endArray(); writer.endObject(); } }