private static void addContextNodeToBuffer(StringBuffer buffer, ContextNode contextNode) { buffer.append("{\n"); buffer.append("type: \"context\",\n"); buffer.append("name: \"" + contextNode.getXDIAddress() + "\",\n"); buffer.append( "arc: \"" + (contextNode.isRootContextNode() ? "" : contextNode.getXDIArc()) + "\",\n"); buffer.append("root: " + XdiAbstractRoot.isValid(contextNode) + ",\n"); buffer.append("contents: [\n"); for (Iterator<ContextNode> innerContextNodes = contextNode.getContextNodes(); innerContextNodes.hasNext(); ) { ContextNode innerContextNode = innerContextNodes.next(); addContextNodeToBuffer(buffer, innerContextNode); if (innerContextNodes.hasNext() || contextNode.containsLiteralNode()) buffer.append(","); buffer.append("\n"); } if (contextNode.containsLiteralNode()) { buffer.append("{\n"); buffer.append("type: \"literal\",\n"); buffer.append("name: \"\\\"" + contextNode.getLiteralNode().getLiteralData() + "\\\"\",\n"); buffer.append("arc: \"&\"\n"); buffer.append("}\n"); } buffer.append("],\n"); buffer.append("rel: ["); for (Iterator<Relation> relations = contextNode.getRelations(); relations.hasNext(); ) { Relation relation = relations.next(); buffer.append("{\n"); buffer.append("type: \"relation\",\n"); buffer.append("arc: \"" + relation.getXDIAddress() + "\",\n"); buffer.append("target: \"" + relation.getTargetXDIAddress() + "\"\n"); buffer.append("}"); if (relations.hasNext()) buffer.append(","); buffer.append("\n"); } buffer.append("]"); buffer.append("}\n"); }