Class LibraryService

java.lang.Object
src.main.java.service.LibraryService

public class LibraryService extends Object
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 Details

    • LibraryService

      public LibraryService()
      Construtor para inicializar o LibraryService. Cria instâncias vazias dos mapas para livros, autores e usuários.
  • Method Details

    • registerUser

      public void registerUser(User user)
      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

      public void registerAuthor(Author author)
      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

      public void registerBook(Book book)
      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

      public void linkBookToAuthor(String bookTitle, String authorName)
      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

      public void borrowBook(String userName, String bookTitle)
      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

      public void returnBook(String userName, String bookTitle)
      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

      public void removeBook(String bookTitle)
      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

      public void removeAuthor(String authorName)
      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

      public void listBooksByAuthor(String authorName)
      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.