package foundation.icall;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
import foundation.icall.callin.ReceivedFields;
|
import foundation.json.IJSONProvider;
|
import foundation.json.IJSONWriter;
|
|
public class InboundResult implements IJSONProvider {
|
|
private String dataName;
|
private int received;
|
private int saved;
|
private ICallMeta meta;
|
private String responseBody;
|
private ReceivedFields receivedFields;
|
private List<String> errors;
|
|
|
public InboundResult(ICall iCall) {
|
this.dataName = iCall.getDataName();
|
this.meta = iCall.getMeta();
|
this.errors = new ArrayList<String>();
|
}
|
|
public void setReceived(int received) {
|
this.received = received;
|
}
|
|
public void setSaved(int saved) {
|
this.saved = saved;
|
}
|
|
public void setReceivedFields(ReceivedFields fields) {
|
receivedFields = fields;
|
}
|
|
public void setMeta(ICallMeta meta) {
|
this.meta = meta;
|
}
|
|
public void setResponseBody(String body) {
|
this.responseBody = body;
|
}
|
|
@Override
|
public void writeJSON(IJSONWriter writer) {
|
//1.
|
if (responseBody != null) {
|
writer.write(responseBody);
|
return;
|
}
|
|
//2.1
|
writer.write("message", meta.getName() + "接收成功");
|
writer.write("dataName", dataName);
|
writer.write("received", received);
|
writer.write("saved", saved);
|
|
//2.2
|
writer.beginArray("errors");
|
|
for (String error: errors) {
|
writer.write(error);
|
}
|
|
writer.endArray();
|
|
//2.3
|
if (receivedFields != null) {
|
writer.beginObject("fields");
|
receivedFields.writeJSONBody(writer);
|
writer.endObject();
|
}
|
}
|
|
}
|