Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
peersimgrid release 1.0
[simgrid.git] / contrib / psg / src / example / symphony / AdapterIterableNetwork.java
diff --git a/contrib/psg/src/example/symphony/AdapterIterableNetwork.java b/contrib/psg/src/example/symphony/AdapterIterableNetwork.java
new file mode 100644 (file)
index 0000000..37bf104
--- /dev/null
@@ -0,0 +1,31 @@
+package example.symphony;\r
+\r
+import java.util.Iterator;\r
+import peersim.core.Network;\r
+import peersim.core.Node;\r
+\r
+/**\r
+ * Adapter Class absolutely UNSAFE, just to be able to iterate peersim.core.Network\r
+ *\r
+ * @author Andrea Esposito <and1989@gmail.com>\r
+ */\r
+public class AdapterIterableNetwork implements Iterable<Node>, Iterator<Node> {\r
+\r
+    private int i = 0;\r
+\r
+    public Iterator<Node> iterator() {\r
+        return this;\r
+    }\r
+\r
+    public boolean hasNext() {\r
+        return i < Network.size();\r
+    }\r
+\r
+    public Node next() {\r
+        return Network.get(i++);\r
+    }\r
+\r
+    public void remove() {\r
+        throw new UnsupportedOperationException("Not supported yet.");\r
+    }\r
+}\r