/** * Returns {@code true} when a node is a leaf node. * <p> * It is non null and has no children. * * @param node The node. * @return {@code true} when {@code node} is a leaf. */ public boolean isLeaf(N node) { return node != null && !adapter.hasChildren(node); }
private void build(N node) { nodes.add(node); if (tree.hasChildren(node)) { final Set<BasicGraphEdge<N>> tmp = new HashSet<>(); for (final N child : tree.getChildren(node)) { final BasicGraphEdge<N> edge = new BasicGraphEdge<>(node, child); edges.add(edge); tmp.add(edge); } nodesToEdges.put(node, tmp); } }
/** * Returns the children of a node. * * @param node The node. * @return The children of {@code node} */ public Iterable<N> getChildren(N node) { Checks.isNotNull(node, NODE); return adapter.getChildren(node); }
/** * Returns the parent of a node. * * @param node The node. * @return The parent of {@code node} */ public final N getParent(N node) { Checks.isNotNull(node, NODE); return adapter.getParent(node); }