Class DonationService

java.lang.Object
diegosneves.github.conectardoacoes.core.service.DonationService
All Implemented Interfaces:
DonationServiceContract

public class DonationService extends Object implements DonationServiceContract
Serviço utilizado para gerenciar as operações relacionadas às doações. Implementa a interface DonationServiceContract, e é o principal ponto de acesso para a manipulação de doações dentro do sistema.

A classe se responsabiliza pela criação de novas doações através do método createDonation(String, Integer). Utiliza a classe DonationFactory para a real criação destes objetos doação.

O processo de criação da doação é encapsulado na fabrica de doacoes, assim, a lógica específica de criação de uma doação está isolada para facilidade de manuseio e manutenção do código.

Trata a exceção DonationRegisterFailureException lançada quando ocorre algum problema na criação de uma doação.

Since:
1.2.0
Author:
diegoneves
See Also:
  • Constructor Details

    • DonationService

      public DonationService()
  • Method Details

    • createDonation

      public Donation createDonation(String description, Integer amount) throws DonationRegisterFailureException
      Description copied from interface: DonationServiceContract
      Cria um objeto de doação com uma descrição e quantidade dada.

      Este método tenta criar um objeto Donation com base nos parâmetros de descrição e quantidade fornecidos pelo usuário. A operação pode falhar e, consequentemente, lançar uma exceção em dois cenários:

      • Descrição: quando a descrição fornecida é nula ou uma string vazia.
      • Quantidade: quando a quantidade fornecida é nula.
      Specified by:
      createDonation in interface DonationServiceContract
      Parameters:
      description - Deve ser uma string contendo a descrição da doação. Não pode ser nula ou vazia.
      amount - Deve ser um número inteiro maior que zero representando a quantidade de doação. Não pode ser nulo.
      Returns:
      Uma instância do objeto Donation se a operação for bem-sucedida.
      Throws:
      DonationRegisterFailureException - Se a criação da doação falhar devido a argumentos inválidos (veja os detalhes acima).