java.lang.Object
diegosneves.github.conectardoacoes.adapters.rest.mapper.DonationMapper
All Implemented Interfaces:
MapperStrategy<Donation,DonationEntity>

public class DonationMapper extends Object implements MapperStrategy<Donation,DonationEntity>
Esta classe implementa a interface MapperStrategy para mapear a entidade DonationEntity para o objeto de domínio Donation. É confiável para a conversão de uma entidade do banco de dados para o objeto do domínio.

A classe usa a estratégia definida pela interface MapperStrategy para converter um DonationEntity para um objeto de domínio doação.

Since:
1.0.0
Author:
diegoneves
See Also:
  • Field Details

  • Constructor Details

    • DonationMapper

      public DonationMapper()
  • Method Details

    • mapFrom

      public Donation mapFrom(DonationEntity source)
      Mapeia a entidade de doação do banco de dados para uma instância do objeto de domínio doação.

      O método aceita uma entidade DonationEntity como input e cria uma nova instância do domínio de doação com base nesse input. O mapeamento é feito da seguinte maneira:

      A entidade passada é primeiramente validada para verificar se não é nula. Se a entidade for nula, uma exceção ShelterEntityFailuresException é lançada com uma mensagem de erro formatada.

      Em seguida, uma tentativa é feita para criar uma nova instância do domínio de doação, usando os valores retornados pelos métodos getId(), getDescription() e getAmount() da entidade DonationEntity.

      Se a tentativa falhar por algum motivo (por exemplo, se os valores retornados não passarem nas verificações de validação no construtor do domínio de doação), uma DonationRegisterFailureException é capturada e uma ShelterEntityFailuresException é lançada com uma mensagem de erro formatada e a exceção original anexada.

      Se a criação da nova instância de Doação for bem-sucedida, essa instância é retornada.

      Specified by:
      mapFrom in interface MapperStrategy<Donation,DonationEntity>
      Parameters:
      source - o objeto DonationEntity que será mapeado para o objeto de domínio doação. Não deve ser nulo.
      Returns:
      uma nova instância do domínio doação, mapeada dos campos de uma entidade DonationEntity.
      Throws:
      ShelterEntityFailuresException - se a entidade de entrada for nula ou se houver uma falha durante a criação da nova instância de Doação.