--- /dev/null
+/*
+ * Created on Apr 2, 2004
+ *
+ * Copyright (c) 2004, the JUNG Project and the Regents of the University
+ * of California
+ * All rights reserved.
+ *
+ * This software is open-source under the BSD license; see either
+ * "license.txt" or
+ * http://jung.sourceforge.net/license.txt for a description.
+ */
+package edu.uci.ics.jung.algorithms.shortestpath;
+
+import java.util.Map;
+
+
+/**
+ * An interface for classes which calculate the distance between
+ * one vertex and another.
+ *
+ * @author Joshua O'Madadhain
+ */
+public interface Distance<V>
+{
+ /**
+ * Returns the distance from the <code>source</code> vertex
+ * to the <code>target</code> vertex. If <code>target</code>
+ * is not reachable from <code>source</code>, returns null.
+ */
+ Number getDistance(V source, V target);
+
+ /**
+ * <p>Returns a <code>Map</code> which maps each vertex
+ * in the graph (including the <code>source</code> vertex)
+ * to its distance (represented as a Number)
+ * from <code>source</code>. If any vertex
+ * is not reachable from <code>source</code>, no
+ * distance is stored for that vertex.
+ */
+ Map<V,Number> getDistanceMap(V source);
+}