Class DefaultEdgeDirectory

java.lang.Object
org.apache.xmlgraphics.util.dijkstra.DefaultEdgeDirectory
All Implemented Interfaces:
EdgeDirectory

public class DefaultEdgeDirectory extends Object implements EdgeDirectory
Default implementation of an edge directory for the DijkstraAlgorithm.
  • Constructor Details

    • DefaultEdgeDirectory

      public DefaultEdgeDirectory()
  • Method Details

    • 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