/**
 * StoreRoom - this class represents a store room of WrappingPaper objects
 * The WrappingPaper objects will be stored in an single-dimensional array
 * with 100 slots.
 *
 * @author <your name here>
 * @version <put date here>
 */
public class StoreRoom
{
	// declarations
	//-------------
	private int current; // the index for the current object in the array
	private int last;    // the index for the last object in the array

	private WrappingPaper[] storeRoom;

	/**
	 * Default constructor - create the array and initialize the current
	 * and last indices
	 */
	public StoreRoom()
	{
		// to be written ...

	} // default constructor


	/**
	 * addPaper - add a piece of WrappingPaper to the end of the array. Return 
	 * true if the addition is successful, return false if the array if full
	 *
	 * @param WrappingPaper
	 * @return boolean
	 */
	public boolean addPaper( WrappingPaper paper )
	{
		// to be written ...

	} // method addPaper


	/**
	 * getCurrentPaper - returns the current WrappingPaper object in the
	 * array
	 *
	 * @return Box
	 */
	public WrappingPaper getCurrentPaper()
	{
		// to be written ...

	} // method getCurrentPaper


	/**
	 * getCurrentIndex - returns the current index in the array
	 *
	 * @return int
	 */
	public int getCurrentIndex()
	{
		// to be written ...

	} // method getCurrentIndex


	/**
	 * goToPaper - moves the current pointer to the index specified by
	 * the parameter
	 *
	 * @param the index to which to move
	 */
	public void goToPaper( int index )
	{
		// to be written ...

	} // method goToPaper


	/**
	 * isFull - returns true if the array is full
	 *
	 * @return true if the array is full, false otherwise
	 */
	public boolean isFull()
	(
		// to be written ...

	} // method isFull


	/**
	 * nextPaper - advance to (and return) the next piece of WrappingPaper in 
	 * the array
	 *
	 * @return the next piece of wrapping paper if available (null otherwise)
	 */
	public WrappingPaper nextPaper()
	{
		// to be written ...

	} // method nextPaper


	/**
	 * priorPaper - backup to (and return) the prior piece of WrappingPaper in the 
	 * array
	 *
	 * @return the prior piece of wrapping paper if available (null otherwise)
	 */
	public WrappingPaper priorPaper()
	{
		// to be written ...

	} // method priorPaper


	/**
	 * removePaper - remove the current piece of wrapping paper from the array.  
	 * This method is optional and should only be undertaken if you have already
	 * completed the rest of the assignment.  If you implement this method,
	 * you must not only remove the box from the array, but you must also "close"
	 * up" the hole.  You must also implement the following method
	 *
	 * These are worth a 10% bonus (assuming that the rest of the PA works 
	 * properly) 
	 */
	public void removePaper()
	{
		// to be written (maybe) ...

	} // method removePaper (overloaded)


	/**
	 * removePaper - remove the piece of wrapping paper specified by the parameter 
	 * from the array.  This method is optional and should only be undertaken if 
	 * you have already completed the rest of the assignment.  If you implement 
	 * this method, you must not only remove the box from the array, but you must 
	 * also "close up" the hole.  You must also implement the preceding method
	 *
	 * These are worth a 10% bonus (assuming that the rest of the PA works 
	 * properly) 
	 */
	public void removePaper( int index )
	{
		// to be written (maybe) ...

	} // method removePaper (overloaded)

} // class StoreRoom
