001package edu.pdx.cs410J.di;
002
003import java.util.Set;
004
005/**
006 * The functionality required for an inventory of books
007 */
008public interface BookInventory
009{
010    /**
011     * Removes a book from the inventory
012     * @param book The book to remove
013     */
014    void remove( Book book );
015
016    /**
017     * Adds some books to the inventory
018     * @param books
019     *        A bunch of bookx
020     */
021    void add(Book... books);
022
023    /**
024     * Returns the number of copies of the given book in the inventory
025     * @param book
026     *        The book of interest
027     * @return the number of copies of <code>book</code>
028     */
029    int getCopies( Book book );
030
031    /**
032     * Returns all of the books in this inventory
033     * @return all of the books in this inventory
034     */
035    Set<Book> getBooks();
036}