/** * Depth first pre order traversal without evaluator. * * @param node The initial node. Must not be null. * @param direction The edge direction to follow for traversal. Must not be null. * @param visitor Visitor that will be invoked for each visited node. Must not be null. */ public void traverseDepthFirstPre(N node, EdgeDirection direction, Visitor<N> visitor) { traverseDepthFirstPre(node, direction, visitor, null); }
public ConnectionDetector(GraphAdapter<N, E> adapter, N source, N target) { super(adapter); this.evaluator = item -> { if (hasEdge(item, target)) { found = true; return Evaluation.PRUNE; } else { return Evaluation.CONTINUE; } }; final GraphTraverser<N, E> traverser = new GraphTraverser<>(adapter); traverser.traverseDepthFirstPre(source, EdgeDirection.OUTGOING, Visitor.ignore(), evaluator); }