/** Attribute for vertex locators in the priority queue Q. */ protected Object LOC = new Object(); /** Check if there is a locator associated with a vertex. */ protected boolean hasLoc(Vertex v) { return v.has(LOC); } /** Get the locator in Q of a vertex. */ protected Locator getLoc(Vertex v) { return (Locator) v.get(LOC); } /** Associate with a vertex its locator in Q. */ protected void setLoc(Vertex v, Locator l) { v.set(LOC, l); } /** Remove the locator associated with a vertex. */ protected void destroyLoc(Vertex v) { v.destroy(LOC); } /** Get the vertex associated with a locator. */ protected Vertex getVertex(Locator l) { return (Vertex) l.element(); } /** Get the distance of a vertex given its locator in Q. */ protected int getDist(Locator l) { return ((Integer) l.key()).intValue(); }