java programming 82

Write a class called Book that contains instance data for the title, author, publisher, price, and copyright date. Define the Book constructor to accept and initialize this data. Include setter and getter methods for all instance data. Include a toString method that returns a nicely formatted, multi-line description of

the book.
Write another class called Bookshelf, which has name and array of Book objects. Bookself capacity is maximum of five books. Includes method for Bookself that adds, removes, isFull( returns Boolean), isEmpty(returns Boolean) and toString method that returns all information about the Books in the Bookself.
Create a driver class called TestBookshelf, whose main method instantiates five Book objects, instantiates one Bookshelf, updates the Books, and add or remove the Books to the Bookshelf, isDuplicate(Book b).
Make sure to print information on the Bookshelf every time you update the Books or the Bookshelf.
Add as many API that you think is good to have for the Bookshelf class.

NOTE: DO NOT USE ArrayList. Use your own array.