/** @since 0.8 or earlier */ public static int countNodes(Node root, NodeCountFilter filter) { NodeCounter counter = new NodeCounter(filter); root.accept(counter); return counter.count; }
/** @since 0.8 or earlier */ protected static NodeFieldAccessor create(NodeFieldKind kind, Field field) { if (USE_UNSAFE) { return new UnsafeNodeField(kind, field); } else { return new ReflectionNodeField(kind, field); } }
private void readNodeProperties(Node node) { NodeFieldAccessor[] fields = node.getNodeClass().getFields(); for (NodeFieldAccessor field : fields) { if (field.getKind() == NodeFieldKind.DATA) { String key = field.getName(); if (getPropertyElement(node, key) == null) { Object value = field.loadValue(node); setNodeProperty(node, key, value); } } } }
private void writeEdges() { for (EdgeElement edge : edgeList) { xmlstream.writeStartElement("edge"); xmlstream.writeAttribute("from", String.valueOf(edge.getFrom().getId())); xmlstream.writeAttribute("to", String.valueOf(edge.getTo().getId())); xmlstream.writeAttribute("index", String.valueOf(edge.getIndex())); if (edge.getLabel() != null) { xmlstream.writeAttribute("label", edge.getLabel()); } xmlstream.writeEndElement(); // edge } }
/** * Invokes the {@link NodeVisitor#visit(Node)} method for this node and recursively also for all * child nodes. * * @param nodeVisitor the visitor * @since 0.8 or earlier */ public final void accept(NodeVisitor nodeVisitor) { if (nodeVisitor.visit(this)) { NodeUtil.forEachChildRecursive(this, nodeVisitor); } }
/** * Checks if this node can be replaced by another node: tree structure & type. * * @since 0.8 or earlier */ public final boolean isSafelyReplaceableBy(Node newNode) { return NodeUtil.isReplacementSafe(getParent(), this, newNode); }
/** @since 0.8 or earlier */ public GraphPrintVisitor visit(Object node, GraphPrintHandler handler) { if (openGraphCount == 0) { beginGraph(DEFAULT_GRAPH_NAME); } handler.visit(node, new GraphPrintAdapter()); return this; }
/** @since 0.8 or earlier */ public GraphPrintVisitor(OutputStream outputStream) { this.outputStream = outputStream; this.xmlstream = createImpl(outputStream); this.xmlstream.writeStartDocument(); this.xmlstream.writeStartElement("graphDocument"); }
protected NodeIterator(NodeClass nodeClass, Node node) { this.childFields = nodeClass.getChildFields(); this.childrenFields = nodeClass.getChildrenFields(); this.node = node; this.childrenCount = childrenCount(); this.index = 0; }
private static boolean visitChild(Node child, NodeVisitor visitor) { if (child == null) { return true; } if (!visitor.visit(child)) { return false; } if (!forEachChildRecursive(child, visitor)) { return false; } return true; }
/** * Checks if this node can be replaced by another node: tree structure & type. * * @since 0.8 or earlier */ public final boolean isSafelyReplaceableBy(Node newNode) { return NodeUtil.isReplacementSafe(getParent(), this, newNode); }
/** @since 0.8 or earlier */ public GraphPrintVisitor visit(Object node, GraphPrintHandler handler) { if (openGraphCount == 0) { beginGraph(DEFAULT_GRAPH_NAME); } handler.visit(node, new GraphPrintAdapter()); return this; }
/** @since 0.8 or earlier */ public static int countNodes(Node root, NodeCountFilter filter) { NodeCounter counter = new NodeCounter(filter); root.accept(counter); return counter.count; }
/** @since 0.8 or earlier */ protected static NodeFieldAccessor create(NodeFieldKind kind, Field field) { if (USE_UNSAFE) { return new UnsafeNodeField(kind, field); } else { return new ReflectionNodeField(kind, field); } }
/** @since 0.8 or earlier */ public GraphPrintVisitor(OutputStream outputStream) { this.outputStream = outputStream; this.xmlstream = createImpl(outputStream); this.xmlstream.writeStartDocument(); this.xmlstream.writeStartElement("graphDocument"); }
/** * Invokes the {@link NodeVisitor#visit(Node)} method for this node and recursively also for all * child nodes. * * @param nodeVisitor the visitor */ public final void accept(NodeVisitor nodeVisitor) { if (nodeVisitor.visit(this)) { NodeUtil.forEachChildRecursive(this, nodeVisitor); } }
public static int countNodes(Node root, NodeCountFilter filter) { NodeCounter counter = new NodeCounter(filter); root.accept(counter); return counter.count; }
protected static NodeFieldAccessor create(NodeFieldKind kind, Field field) { if (USE_UNSAFE) { return new UnsafeNodeField(kind, field); } else { return new ReflectionNodeField(kind, field); } }
private static boolean visitChild(Node child, NodeVisitor visitor) { if (child == null) { return true; } if (!visitor.visit(child)) { return false; } if (!forEachChildRecursive(child, visitor)) { return false; } return true; }
private static boolean visitChild(Node child, NodeVisitor visitor) { if (child == null) { return true; } if (!visitor.visit(child)) { return false; } if (!forEachChildRecursive(child, visitor)) { return false; } return true; }