Class GraphReachability<N,​E>

    • Field Detail

      • REACHABLE

        public static final Annotation REACHABLE
    • Constructor Detail

      • GraphReachability

        public GraphReachability​(DiGraph<N,​E> graph)
      • GraphReachability

        public GraphReachability​(DiGraph<N,​E> graph,
                                 com.google.common.base.Predicate<GraphReachability.EdgeTuple<N,​E>> edgePredicate)
        Parameters:
        graph - The graph.
        edgePredicate - Given the predecessor P of the a node S and the edge coming from P to S, this predicate should return true if S is reachable from P using the edge.
    • Method Detail

      • compute

        public void compute​(N entry)
      • recompute

        public void recompute​(N reachableNode)
      • traverseEdge

        public boolean traverseEdge​(N source,
                                    E e,
                                    N destination)
        Description copied from interface: FixedPointGraphTraversal.EdgeCallback
        Update the state of the destination node when the given edge is traversed. For the fixed-point computation to work, only the destination node may be modified. The source node and the edge must not be modified.
        Specified by:
        traverseEdge in interface FixedPointGraphTraversal.EdgeCallback<N,​E>
        Parameters:
        source - The start node.
        e - The edge.
        destination - The end node.
        Returns:
        Whether the state of the destination node changed.