diff options
author | Matthias Schiffer <mschiffer@universe-factory.net> | 2011-04-30 18:21:22 +0200 |
---|---|---|
committer | Matthias Schiffer <mschiffer@universe-factory.net> | 2011-04-30 18:21:22 +0200 |
commit | f9b396875add92f9cfc64ee74c82d3275e4d7dd6 (patch) | |
tree | 3097019f9f5384b6c7af4b6c5c3259b7ba39c418 /src/jrummikub | |
parent | 36da8c8a179faab8e52c66130c4031027e06db6b (diff) | |
download | JRummikub-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/jrummikub')
-rw-r--r-- | src/jrummikub/model/StoneSet.java | 35 |
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(); + }}; + } + } |