/**
 * An ecapsulation of a collection of items to be sold in an auction
 *
 * @author  STUB
 * @version 1.0
 *
 * This work complies with the JMU Honor Code
 */
public class Catalog
{
    private int                 current, numberOfLots;
    private Lot[]               lots;
    private String              title;

    private static int          MAX_SIZE = 1000;


    /**
     * Explicit Value Constructor
     *
     * @param title   The title of this Catalog
     */ 
    public Catalog(String title)
    {
    }	



    /**
     * Accept the next acceptable bid from the given bidder
     * (if the current lot exists)
     *
     * @param bidder   The bidder ID
     */
    public void acceptBid(int bidder)
    {
    }


    /**
     * Accept the given bid from the given bidder [if the current lot
     * exists and the bid is acceptable (i.e., large enough)]
     *
     * @param amount   The amount of the bid
     * @param bidder   The bidder ID
     */
    public void acceptBid(double amount, int bidder)
    {
    }


    /**
     * Add a Lot to the end of this Catalog (if there is
     * still space)
     *
     * @param lot   The Lot to add
     */
    public void addLot(Lot lot)
    {
    }




    /**
     * Get the smallest acceptable increment at a particular
     * bid
     *
     * @param  at   The bid of interest
     * @return      The smallest acceptable increment 
     */
    private double getIncrement(double at)
    {
       return 1.00;       
    }
    


    /**
     * Get the next acceptable bid (based on the current bid)
     *
     * @return  The next acceptable bid
     */
    public double getNextAcceptableBid()
    {
       return 1.00;       
    }	



    /**
     * Are there more lots in the Catalog?
     *
     * @return  true if there are more lots to be auctioned; false otherwise
     */
    public boolean hasMoreLots()
    {
       return true;
    }
	


    /**
     * Get the next Lot to be auctioned
     *
     * Note: This method does NOT close the previous Lot
     *
     * @return  The next Lot to be auctioned
     */
    public Lot nextLot()
    {
       return null;       
    }

    
    /**
     * Returns a String representation of this Lot
     *
     * @return  The String representation
     */
    public String toString()
    {
       return "I'm just a stub";       
    }
    

    /**
     * Returns the total value of all lots that have
     * been closed and sold (i.e., not including open lots and
     * not including lots that did not meet the reserve price).
     *
     * NOTE: This method must not change any attributes!
     *
     * @return  The total value of all lots sold thus far
     */
    public double totalValue()
    {
       return 0.00;       
    }
}
