Interface PathFinder<P extends Path>

Type Parameters:
P - the path type that the algorithm produces

public interface PathFinder<P extends Path>
Interface of algorithms that finds paths in between two nodes.
  • Method Details

    • findSinglePath

      P findSinglePath(Node start, Node end)
      Tries to find a single path between start and end nodes. If a path is found a Path is returned with that path information, else null is returned. If more than one path is found, the implementation can decide itself upon which of those to return.
      Parameters:
      start - the start Node which defines the start of the path.
      end - the end Node which defines the end of the path.
      Returns:
      a single Path between start and end, or null if no path was found.
    • findAllPaths

      Iterable<P> findAllPaths(Node start, Node end)
      Tries to find all paths between start and end nodes. A collection of Paths is returned with all the found paths. If no paths are found an empty collection is returned.
      Parameters:
      start - the start Node which defines the start of the path.
      end - the end Node which defines the end of the path.
      Returns:
      all Paths between start and end.
    • metadata

      TraversalMetadata metadata()