package jrummikub.model; import jrummikub.util.Pair; public interface IStoneTray extends Iterable>, Cloneable { /** * Removes object from tray and returns it * * @param position * position of the object that will be removed * @return the picked up stone */ public E pickUp(Position position); /** * Adds object to the tray * * @param object * object to add to Hand * @param position * {@link Position} to put the object */ public void drop(E object, Position position); /** * Returns the position of an object that is already on the tray * * @param object * object whose position is requested * @return position of the object or null when the object is not on the tray */ public Position getPosition(E object); public void pickUp(E object); public IStoneTray clone(); public int getSize(); }