# Table
Date: 2011-05-10

## jrummikub.model
Class Table

    java.lang.Object
      jrummikub.model.StoneTray<StoneSet>
          jrummikub.model.Table

All Implemented Interfaces:
  java.lang.Cloneable, java.lang.Iterable<Pair<StoneSet,Position>>, IStoneTray<StoneSet>, ITable

    public class Table

extends StoneTray<StoneSet>
implements ITable

Class administering the `Stone`s on the game-Table

Nested Class Summary

Nested classes/interfaces inherited from class jrummikub.model.StoneTray
`StoneTray.Direction`

Field Summary

Fields inherited from class jrummikub.model.StoneTray
`objects`

Constructor Summary
`Table()`

Method Summary
`StoneSet` `findStoneSet(Stone stone)` Finds the `StoneSet` containing the given `Stone`
`boolean` `isValid()` Tests the Table for rule conflicts by checking all the `StoneSet`
`void` `pickUpStone(Stone stone)` Removes `Stone` from the Table

Methods inherited from class jrummikub.model.StoneTray
`clone, drop, fixInvalidDrop, getPosition, getSize, iterator, pickUp`

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface jrummikub.model.IStoneTray
`clone, drop, getPosition, getSize, pickUp`

Methods inherited from interface java.lang.Iterable
`iterator`

Constructor Detail

### Table

    public Table()

Method Detail

### pickUpStone

    public void pickUpStone(Stone stone)

  Removes `Stone` from the Table

  Specified by:
    `pickUpStone` in interface `ITable`
  Parameters:
    `stone` - stone to pick up

### findStoneSet

    public StoneSet findStoneSet(Stone stone)

  Description copied from interface: `ITable`
  Finds the `StoneSet` containing the given `Stone`

  Specified by:
    `findStoneSet` in interface `ITable`
  Parameters:
    `stone` - stone whose set we're searching
  Returns:
    the set containing the stone or null if no set was found

### isValid

    public boolean isValid()

  Tests the Table for rule conflicts by checking all the `StoneSet`

  Specified by:
    `isValid` in interface `ITable`
  Returns:
    whether all sets on the table are valid