<IMGSRC="../../resources/inherit.gif"ALT="extended by "><B>jrummikub.model.StoneSet</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B><DD>java.lang.Iterable<<AHREF="../../jrummikub/model/Stone.html"title="class in jrummikub.model">Stone</A>>, <AHREF="../../jrummikub/model/Sizeable.html"title="interface in jrummikub.model">Sizeable</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <B>StoneSet</B><DT>extends java.lang.Object<DT>implements java.lang.Iterable<<AHREF="../../jrummikub/model/Stone.html"title="class in jrummikub.model">Stone</A>>, <AHREF="../../jrummikub/model/Sizeable.html"title="interface in jrummikub.model">Sizeable</A></DL>
</PRE>
<P>
Class managing <AHREF="../../jrummikub/model/Stone.html"title="class in jrummikub.model"><CODE>Stone</CODE></A>s joined together to form sets
<TD><CODE><B><AHREF="../../jrummikub/model/StoneSet.html#StoneSet(java.util.List)">StoneSet</A></B>(java.util.List<<AHREF="../../jrummikub/model/Stone.html"title="class in jrummikub.model">Stone</A>> stones)</CODE>
<BR>
Create a stone set from a list of stones</TD>
</TR>
<TRBGCOLOR="white"CLASS="TableRowColor">
<TD><CODE><B><AHREF="../../jrummikub/model/StoneSet.html#StoneSet(jrummikub.model.Stone)">StoneSet</A></B>(<AHREF="../../jrummikub/model/Stone.html"title="class in jrummikub.model">Stone</A> stone)</CODE>
<BR>
Create a new single stone stone set</TD>
<CODE> <AHREF="../../jrummikub/model/StoneSet.html"title="class in jrummikub.model">StoneSet</A></CODE></FONT></TD>
<TD><CODE><B><AHREF="../../jrummikub/model/StoneSet.html#join(jrummikub.model.StoneSet)">join</A></B>(<AHREF="../../jrummikub/model/StoneSet.html"title="class in jrummikub.model">StoneSet</A> other)</CODE>
<BR>
Joins StoneSet to another StoneSet and returns the resulting new StoneSet</TD>
<CODE> <AHREF="../../jrummikub/util/Pair.html"title="class in jrummikub.util">Pair</A><<AHREF="../../jrummikub/model/StoneSet.html"title="class in jrummikub.model">StoneSet</A>,<AHREF="../../jrummikub/model/StoneSet.html"title="class in jrummikub.model">StoneSet</A>></CODE></FONT></TD>
Splits the StoneSet at a specified <AHREF="../../jrummikub/model/Position.html"title="class in jrummikub.model"><CODE>Position</CODE></A> and returns two new
<DT><B>Returns:</B><DD>true when the set is valid according to the rules</DL>
</DD>
</DL>
<HR>
<ANAME="classify()"><!----></A><H3>
classify</H3>
<PRE>
public <AHREF="../../jrummikub/model/StoneSet.Type.html"title="enum in jrummikub.model">StoneSet.Type</A><B>classify</B>()</PRE>
<DL>
<DD>Test for rule conflict within the StoneSet and determine whether the set
is a group or a run
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>GROUP or RUN for valid sets, INVALID otherwise</DL>
</DD>
</DL>
<HR>
<ANAME="splitAt(int)"><!----></A><H3>
splitAt</H3>
<PRE>
public <AHREF="../../jrummikub/util/Pair.html"title="class in jrummikub.util">Pair</A><<AHREF="../../jrummikub/model/StoneSet.html"title="class in jrummikub.model">StoneSet</A>,<AHREF="../../jrummikub/model/StoneSet.html"title="class in jrummikub.model">StoneSet</A>><B>splitAt</B>(int position)</PRE>
<DL>
<DD>Splits the StoneSet at a specified <AHREF="../../jrummikub/model/Position.html"title="class in jrummikub.model"><CODE>Position</CODE></A> and returns two new
Stone Sets
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>position</CODE> - Splitting <AHREF="../../jrummikub/model/Position.html"title="class in jrummikub.model"><CODE>Position</CODE></A>
<DT><B>Returns:</B><DD>A pair of StoneSets, one for each split part</DL>
public <AHREF="../../jrummikub/model/StoneSet.html"title="class in jrummikub.model">StoneSet</A><B>join</B>(<AHREF="../../jrummikub/model/StoneSet.html"title="class in jrummikub.model">StoneSet</A> other)</PRE>
<DL>
<DD>Joins StoneSet to another StoneSet and returns the resulting new StoneSet
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>other</CODE> - StoneSet to be joined to active StoneSet
<DT><B>Returns:</B><DD>the combined StoneSet</DL>
</DD>
</DL>
<HR>
<ANAME="size()"><!----></A><H3>
size</H3>
<PRE>
public int <B>size</B>()</PRE>
<DL>
<DD>Returns the number of stones in the set.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>number of stones</DL>
</DD>
</DL>
<HR>
<ANAME="get(int)"><!----></A><H3>
get</H3>
<PRE>
public <AHREF="../../jrummikub/model/Stone.html"title="class in jrummikub.model">Stone</A><B>get</B>(int i)</PRE>
<DL>
<DD>Returns the i-th stone of the set (starting with 0)
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>i</CODE> - number of the stone to return
<DT><B>Returns:</B><DD>the i-th stone</DL>
</DD>
</DL>
<HR>
<ANAME="iterator()"><!----></A><H3>
iterator</H3>
<PRE>
public java.util.Iterator<<AHREF="../../jrummikub/model/Stone.html"title="class in jrummikub.model">Stone</A>><B>iterator</B>()</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>iterator</CODE> in interface <CODE>java.lang.Iterable<<AHREF="../../jrummikub/model/Stone.html"title="class in jrummikub.model">Stone</A>></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<ANAME="getWidth()"><!----></A><H3>
getWidth</H3>
<PRE>
public float <B>getWidth</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><AHREF="../../jrummikub/model/Sizeable.html#getWidth()">Sizeable</A></CODE></B></DD>
<DD>Get the width of the object
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><AHREF="../../jrummikub/model/Sizeable.html#getWidth()">getWidth</A></CODE> in interface <CODE><AHREF="../../jrummikub/model/Sizeable.html"title="interface in jrummikub.model">Sizeable</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>object width</DL>
</DD>
</DL>
<HR>
<ANAME="getHeight()"><!----></A><H3>
getHeight</H3>
<PRE>
public float <B>getHeight</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><AHREF="../../jrummikub/model/Sizeable.html#getHeight()">Sizeable</A></CODE></B></DD>
<DD>Get the height of the object
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><AHREF="../../jrummikub/model/Sizeable.html#getHeight()">getHeight</A></CODE> in interface <CODE><AHREF="../../jrummikub/model/Sizeable.html"title="interface in jrummikub.model">Sizeable</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>object height</DL>
</DD>
</DL>
<HR>
<ANAME="toString()"><!----></A><H3>
toString</H3>
<PRE>
public java.lang.String <B>toString</B>()</PRE>
<DL>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE>toString</CODE> in class <CODE>java.lang.Object</CODE></DL>