Class DefaultEdgeDirectory

    • Constructor Detail

      • DefaultEdgeDirectory

        public DefaultEdgeDirectory()
    • Method Detail

      • addEdge

        public void addEdge​(Edge edge)
        Adds a new edge between two vertices.
        Parameters:
        edge - the new edge
      • getPenalty

        public int getPenalty​(Vertex start,
                              Vertex end)
        Returns the penalty between two vertices.
        Specified by:
        getPenalty in interface EdgeDirectory
        Parameters:
        start - the start vertex
        end - the end vertex
        Returns:
        the penalty between two vertices, or 0 if no single edge between the two vertices exists.
      • getDestinations

        public Iterator getDestinations​(Vertex origin)
        Returns an iterator over all valid destinations for a given vertex.
        Specified by:
        getDestinations in interface EdgeDirectory
        Parameters:
        origin - the origin from which to search for destinations
        Returns:
        the iterator over all valid destinations for a given vertex
      • getEdges

        public Iterator getEdges​(Vertex origin)
        Returns an iterator over all edges with the given origin.
        Parameters:
        origin - the origin
        Returns:
        an iterator over Edge instances
      • getBestEdge

        public Edge getBestEdge​(Vertex start,
                                Vertex end)
        Returns the best edge (the edge with the lowest penalty) between two given vertices.
        Parameters:
        start - the start vertex
        end - the end vertex
        Returns:
        the best vertex or null if none is found