Package src.main.java.service
Class LibraryService
java.lang.Object
src.main.java.service.LibraryService
Serviço principal da biblioteca, responsável por gerenciar livros, autores e usuários.
Contém a lógica de negócio para registro, empréstimo, devolução e remoção de itens.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
borrowBook
(String userName, String bookTitle) Permite que um usuário pegue um livro emprestado.void
linkBookToAuthor
(String bookTitle, String authorName) Associa um livro a um autor existente.void
Lista todos os autores cadastrados no sistema.void
Lista todos os livros que estão disponíveis para empréstimo.void
Lista todos os livros cadastrados no sistema, independentemente de sua disponibilidade.void
listBooksByAuthor
(String authorName) Lista todos os livros escritos por um autor específico.void
Lista todos os livros que estão atualmente emprestados.void
Lista todos os usuários cadastrados no sistema.void
registerAuthor
(Author author) Registra um novo autor no sistema da biblioteca.void
registerBook
(Book book) Registra um novo livro no sistema da biblioteca.void
registerUser
(User user) Registra um novo usuário no sistema da biblioteca.void
removeAuthor
(String authorName) Remove um autor e todos os seus livros associados do sistema da biblioteca.void
removeBook
(String bookTitle) Remove um livro do sistema da biblioteca.void
returnBook
(String userName, String bookTitle) Permite que um usuário devolva um livro emprestado.
-
Constructor Details
-
LibraryService
public LibraryService()Construtor para inicializar o LibraryService. Cria instâncias vazias dos mapas para livros, autores e usuários.
-
-
Method Details
-
registerUser
Registra um novo usuário no sistema da biblioteca. Verifica se já existe um usuário com o mesmo nome antes de registrar.- Parameters:
user
- O objeto User a ser registrado.
-
registerAuthor
Registra um novo autor no sistema da biblioteca. Verifica se já existe um autor com o mesmo nome antes de registrar.- Parameters:
author
- O objeto Author a ser registrado.
-
registerBook
Registra um novo livro no sistema da biblioteca. Verifica se o livro já existe e se o autor está cadastrado antes de registrar.- Parameters:
book
- O objeto Book a ser registrado.
-
linkBookToAuthor
Associa um livro a um autor existente. Este método é chamado internamente após o registro de um livro para manter a consistência dos dados.- Parameters:
bookTitle
- O título do livro a ser associado.authorName
- O nome do autor ao qual o livro será associado.
-
borrowBook
Permite que um usuário pegue um livro emprestado. Verifica a existência do usuário e do livro, e a disponibilidade do livro e do usuário.- Parameters:
userName
- O nome do usuário que deseja emprestar o livro.bookTitle
- O título do livro a ser emprestado.
-
returnBook
Permite que um usuário devolva um livro emprestado. Verifica a existência do usuário e do livro, e se o livro realmente pertence ao usuário.- Parameters:
userName
- O nome do usuário que deseja devolver o livro.bookTitle
- O título do livro a ser devolvido.
-
removeBook
Remove um livro do sistema da biblioteca. O livro só pode ser removido se estiver disponível (não emprestado).- Parameters:
bookTitle
- O título do livro a ser removido.
-
removeAuthor
Remove um autor e todos os seus livros associados do sistema da biblioteca. Livros emprestados associados a este autor não podem ser removidos.- Parameters:
authorName
- O nome do autor a ser removido.
-
listAvailableBooks
public void listAvailableBooks()Lista todos os livros que estão disponíveis para empréstimo. -
listBorrowedBooks
public void listBorrowedBooks()Lista todos os livros que estão atualmente emprestados. -
listBooks
public void listBooks()Lista todos os livros cadastrados no sistema, independentemente de sua disponibilidade. -
listBooksByAuthor
Lista todos os livros escritos por um autor específico.- Parameters:
authorName
- O nome do autor cujos livros serão listados.
-
listAuthors
public void listAuthors()Lista todos os autores cadastrados no sistema. -
listUsers
public void listUsers()Lista todos os usuários cadastrados no sistema.
-