summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2011-04-30 18:21:22 +0200
committerMatthias Schiffer <mschiffer@universe-factory.net>2011-04-30 18:21:22 +0200
commitf9b396875add92f9cfc64ee74c82d3275e4d7dd6 (patch)
tree3097019f9f5384b6c7af4b6c5c3259b7ba39c418 /src
parent36da8c8a179faab8e52c66130c4031027e06db6b (diff)
downloadJRummikub-f9b396875add92f9cfc64ee74c82d3275e4d7dd6.tar
JRummikub-f9b396875add92f9cfc64ee74c82d3275e4d7dd6.zip
Made StoneSet iterable
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@31 72836036-5685-4462-b002-a69064685172
Diffstat (limited to 'src')
-rw-r--r--src/jrummikub/model/StoneSet.java35
1 files changed, 32 insertions, 3 deletions
diff --git a/src/jrummikub/model/StoneSet.java b/src/jrummikub/model/StoneSet.java
index d949187..ba96625 100644
--- a/src/jrummikub/model/StoneSet.java
+++ b/src/jrummikub/model/StoneSet.java
@@ -1,19 +1,24 @@
package jrummikub.model;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Iterator;
import java.util.List;
+import sun.reflect.generics.reflectiveObjects.NotImplementedException;
+
import jrummikub.util.Pair;
/** Class managing {@link Stone}s joined together to form sets */
-public class StoneSet {
+public class StoneSet implements Iterable<Stone> {
private List<Stone> stones;
public StoneSet(Stone stone) {
-
+ stones = Collections.singletonList(stone);
}
public StoneSet(List<Stone> stones) {
-
+ this.stones = new ArrayList<Stone>(stones);
}
/** Test for rule conflict within the StoneSet */
@@ -60,4 +65,28 @@ public class StoneSet {
return stones.get(i);
}
+ @Override
+ public Iterator<Stone> iterator() {
+ final Iterator<Stone> it = stones.iterator();
+
+ return new Iterator<Stone>(){
+
+ @Override
+ public boolean hasNext() {
+ return it.hasNext();
+ }
+
+ @Override
+ public Stone next() {
+ return it.next();
+ }
+
+ @Override
+ public void remove() {
+ // removing stones is impossible
+
+ throw new NotImplementedException();
+ }};
+ }
+
}