Initial opendaylight infrastructure commit!!
[controller.git] / third-party / net.sf.jung2 / src / main / java / edu / uci / ics / jung / algorithms / util / SelfLoopEdgePredicate.java
diff --git a/third-party/net.sf.jung2/src/main/java/edu/uci/ics/jung/algorithms/util/SelfLoopEdgePredicate.java b/third-party/net.sf.jung2/src/main/java/edu/uci/ics/jung/algorithms/util/SelfLoopEdgePredicate.java
new file mode 100644 (file)
index 0000000..a92c3b8
--- /dev/null
@@ -0,0 +1,23 @@
+package edu.uci.ics.jung.algorithms.util;
+
+import org.apache.commons.collections15.Predicate;
+
+import edu.uci.ics.jung.graph.Graph;
+import edu.uci.ics.jung.graph.util.Context;
+import edu.uci.ics.jung.graph.util.Pair;
+
+/**
+ * A <code>Predicate</code> that returns <code>true</code> if the input edge's 
+ * endpoints in the input graph are identical.  (Thus, an edge which connects
+ * its sole incident vertex to itself).
+ *
+ * @param <V>
+ * @param <E>
+ */
+public class SelfLoopEdgePredicate<V,E> implements Predicate<Context<Graph<V,E>,E>> {
+
+    public boolean evaluate(Context<Graph<V,E>,E> context) {
+        Pair<V> endpoints = context.graph.getEndpoints(context.element);
+        return endpoints.getFirst().equals(endpoints.getSecond());
+    }
+}