<DT><B>All Implemented Interfaces:</B><DD>java.io.Serializable, 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>
<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>, java.io.Serializable</DL>
<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/util/Pair.html"title="class in jrummikub.util">Pair</A><<AHREF="../../jrummikub/model/StoneSet.Type.html"title="enum in jrummikub.model">StoneSet.Type</A>,java.lang.Integer></CODE></FONT></TD>
<TD><CODE><B><AHREF="../../jrummikub/model/StoneSet.html#classify(jrummikub.model.GameSettings)">classify</A></B>(<AHREF="../../jrummikub/model/GameSettings.html"title="class in jrummikub.model">GameSettings</A> settings)</CODE>
<CODE>private <AHREF="../../jrummikub/util/Pair.html"title="class in jrummikub.util">Pair</A><<AHREF="../../jrummikub/model/StoneSet.Type.html"title="enum in jrummikub.model">StoneSet.Type</A>,java.lang.Integer></CODE></FONT></TD>
<TD><CODE><B><AHREF="../../jrummikub/model/StoneSet.html#classifyJokersOnly(jrummikub.model.GameSettings)">classifyJokersOnly</A></B>(<AHREF="../../jrummikub/model/GameSettings.html"title="class in jrummikub.model">GameSettings</A> settings)</CODE>
<BR>
Test for rule conflict within a StoneSet with jokers only and determine
<TD><CODE><B><AHREF="../../jrummikub/model/StoneSet.html#isValid(jrummikub.model.GameSettings)">isValid</A></B>(<AHREF="../../jrummikub/model/GameSettings.html"title="class in jrummikub.model">GameSettings</A> settings)</CODE>
<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
public <AHREF="../../jrummikub/util/Pair.html"title="class in jrummikub.util">Pair</A><<AHREF="../../jrummikub/model/StoneSet.Type.html"title="enum in jrummikub.model">StoneSet.Type</A>,java.lang.Integer><B>classify</B>(<AHREF="../../jrummikub/model/GameSettings.html"title="class in jrummikub.model">GameSettings</A> settings)</PRE>
<DL>
<DD>Test for rule conflict within the StoneSet and determine whether the set is
private <AHREF="../../jrummikub/util/Pair.html"title="class in jrummikub.util">Pair</A><<AHREF="../../jrummikub/model/StoneSet.Type.html"title="enum in jrummikub.model">StoneSet.Type</A>,java.lang.Integer><B>classifyJokersOnly</B>(<AHREF="../../jrummikub/model/GameSettings.html"title="class in jrummikub.model">GameSettings</A> settings)</PRE>
<DL>
<DD>Test for rule conflict within a StoneSet with jokers only and determine
whether the set is a group or a run
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>settings</CODE> - the game settings
<DT><B>Returns:</B><DD>GROUP or RUN for valid sets, INVALID otherwise and the points</DL>
<DT><B>Parameters:</B><DD><CODE>referencePosition</CODE> - position of stone used as reference (any non-joker stone)<DD><CODE>settings</CODE> - the game settings
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
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>