Initial opendaylight infrastructure commit!!
[controller.git] / third-party / net.sf.jung2 / src / main / java / edu / uci / ics / jung / algorithms / shortestpath / Distance.java
diff --git a/third-party/net.sf.jung2/src/main/java/edu/uci/ics/jung/algorithms/shortestpath/Distance.java b/third-party/net.sf.jung2/src/main/java/edu/uci/ics/jung/algorithms/shortestpath/Distance.java
new file mode 100644 (file)
index 0000000..85820d1
--- /dev/null
@@ -0,0 +1,41 @@
+/*
+ * 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);
+}