@Override public final N getTip(E edge, EdgeTip tip) { return delegate.getTip(edge, tip); }
@Override public boolean test(GraphEdge<N> edge) { return edge.getSource() == node; } }
public boolean edgeIsCycleMember(E edge) { final N source = adapter.getTip(edge, EdgeTip.SOURCE); final N target = adapter.getTip(edge, EdgeTip.TARGET); return areConnected(target, source); }
@Override public final Iterable<E> getEdges() { return delegate.getEdges(); }
@Override public final Iterable<N> getNodes() { return delegate.getNodes(); }
@Override public final boolean containsEdge(E edge) { return delegate.containsEdge(edge); }
/** * 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); }
@Override public boolean test(GraphEdge<N> edge) { return edge.getTarget() == node; } }
@Override public final boolean containsNode(N node) { return delegate.containsNode(node); }
/** * 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); }
@Override public final N getTip(E edge, EdgeTip tip) { return delegate.getTip(edge, tip); } }
@Override public final Iterable<E> getEdges(N node, EdgeDirection direction) { return Iterables.filter(delegate.getEdges(node, direction), isOwnedEdge); }
/** * @return the number of nodes. */ public final int getNodesCount() { return Iterables.size(adapter.getNodes()); }
@Override public final void removeEdge(E edge) { if (delegate.containsEdge(edge)) { removedEdges.add(edge); } }
@Override public final N getTip(E edge, EdgeTip tip) { return delegate.getTip(edge, tip); }
/** * @return the number if edges. */ public final int getEdgesCount() { return Iterables.size(adapter.getEdges()); }