Interface ReachabilityIndex<T>

  • All Known Subinterfaces:
    ReachabilityIndexExt<T>
    All Known Implementing Classes:
    ReachabilityIndexExtImpl

    public interface ReachabilityIndex<T>
    Allows to do fast checks if some node from DAG is reachable from another node
    • Method Detail

      • isReachable

        boolean isReachable​(@NotNull
                            T node,
                            @NotNull
                            T from)
        Returns true if the given node node is reachable from specified node from. Node is reachable from itself.
        Parameters:
        node - a node which reachability should be tested
        from - a node from which reachability should be tested
        Returns:
        see above
      • processReachable

        void processReachable​(@NotNull
                              T from,
                              @NotNull
                              ItemProcessor<T> processor)
        Process all reachable nodes from the given node from with specified processor. The node from is also processed.
        Parameters:
        from - a node which reachable nodes to process
        processor - nodes processor
      • createReachablePredicate

        @NotNull
        Predicate<T> createReachablePredicate​(@NotNull
                                              T from)
        Returns a reachability predicate which returns true if the node is reachable from the specified node from.
        Parameters:
        from - a node from which reachability should be tested by predicate
        Returns:
        see above