Biblioteca

Realizzare un sistema per la gestione di una biblioteca. Si parta dal progetto Eclipse già pronto: Biblioteca.zip
Si usino come punto di partenza le classi Libro, Biblioteca e GestioneBiblio presenti nel package biblio.
Il sistema deve soddisfare i seguenti requisiti.

R1: Dati del Libro

Quando si deve creare un oggetto Libro si forniscono le informazioni relative al libro: il titolo e l’autore.
Le due informazioni sono reperibile tramite metodi getter.
La rappresentazione stringa di un libro, ottenuta tramite il metodo toString(), è costituita da autore e titolo separati da una virgola e uno spazio (", ")

R2: Inserimento libro nella biblioteca

Il contenitore di libri sui cui eseguire tutte le operazionei è Biblioteca.
Deve essere possibile inserire un libro in una determinata posizione della biblioteca.
La biblioteca è organizzata in piani, ce ne sono 3. Ogni piano contiene 30 scaffali. Ogni scaffale è composto da 6 ripiani ed è caratterizzato da un codice alfanumerico del tipo SC1. Ogni ripiano contiene fino a 10 libri.
E' possibilie verificare se un ripiano (di un dato scaffale, ad un certo piano) contiene un libro con il metodo contiente() che ha come parametri: il piano, lo scaffale e il ripiano.

R3: Stampa contenuto scaffale

Dato il nome di uno scaffale (all'interno di un dato piano) deve essere possibile elencarei libri contenuti, suddivisi per ripiani.
L'elenco viene restituito sotto forma di stringa dal metodo getLibri() che ha come parametri il piano e lo scaffale.
Per ogni ripiano nella stringa compare l'indicazione del ripiano nella forma "Ripiano 1" seguito, nelle righe successive dai libri contenuti nel ripiano.

R4: Stampa posizione libro

Dato un libro deve essere possibile risalire alla sua collocazione. In particolare è possibile sapere il piano, scaffale e ripiano, rispettivamente tramite i metodi getPiano(), getScaffale()getRipiano() della classe Libro.

R5: Ricerca di un libro

Deve essere possibile riercare un libro all'interno della biblioteca specificando autore e titolo. Il metodo per eseguire cio è cerca().

R6: Interfaccia utente

L'intefaccia utente deve essere implementata dalla classe GestioneBiblio, che deve essere costruita passando due parametri: un oggetto Console tramite il quale viene eseguito tutto l'I/O e un oggetto Biblioteca che è destinato a contenere i dati.
Per avviare l'interfaccia utente si usi il metodo start().
Il sistema deve visualizzare un prompt della forma ">" ed accettare i seguenti comandi che devono eseguire le relative operazioni sull'oggetto Biblioteca:
I parametri vengono richiesti uno per volta dall'intefaccia utente dopo che è stato inserito il comando.