package er.rest.format;
import er.rest.ERXRestRequestNode;
public class ERXSproutCoreRestWriter extends ERXJSONRestWriter {
@Override
protected ERXRestRequestNode processNode(ERXRestRequestNode node) {
ERXRestRequestNode rootNode = new ERXRestRequestNode(null, true);
ERXRestRequestNode recordsNode = new ERXRestRequestNode("content", false);
recordsNode.setArray(true);
rootNode.addChild(recordsNode);
if (node.isArray()) {
for (ERXRestRequestNode child : node.children()) {
recordsNode.addChild(child);
}
}
else {
recordsNode.addChild(node);
}
ERXRestRequestNode idsNode = new ERXRestRequestNode("ids", false);
idsNode.setArray(true);
rootNode.addChild(idsNode);
for (ERXRestRequestNode child : recordsNode.children()) {
Object id = child.id();
idsNode.addChild(new ERXRestRequestNode(null, id, false));
}
ERXRestRequestNode countNode = new ERXRestRequestNode("count", Integer.valueOf(recordsNode.children().size()), false);
rootNode.addChild(countNode);
return rootNode;
}
}