java.lang.Object
diegosneves.github.conectardoacoes.adapters.rest.mapper.UserEntityMapper
All Implemented Interfaces:
MapperStrategy<UserEntity,UserContract>

public class UserEntityMapper extends Object implements MapperStrategy<UserEntity,UserContract>
A classe UserEntityMapper implementa a interface MapperStrategy e é usada para mapear um objeto do tipo User para um objeto de entidade UserEntity.

Essa classe é essencial para a camada de persistência do aplicativo, pois permite uma conversão eficiente entre objetos do domínio do problema e entidades que podem ser persistidas em um banco de dados.

Since:
1.0.0
Author:
diegoneves
  • Field Details

  • Constructor Details

    • UserEntityMapper

      public UserEntityMapper()
  • Method Details

    • mapFrom

      public UserEntity mapFrom(UserContract source)
      Este método é usado para mapear um objeto de origem do tipo User para um objeto de entidade UserEntity.

      Primeiro, realiza uma verificação de not-null-or-empty do objeto de origem utilizando a utilidade ValidationUtils. Se o objeto de origem for nulo ou vazio, um UserEntityFailuresException será lançado com a mensagem de erro gerada por ExceptionDetails.

      Em seguida, tenta mapear o objeto de origem para a classe UserEntity usando a utilidade BuilderMapper. Após o mapeamento bem-sucedido, ele então tenta configurar o perfil do usuário no objeto de entidade mapeado. O perfil do usuário é obtido a partir do perfil do usuário do objeto de origem e convertido para uma enumeração de UserProfileType.

      Se um RuntimeException é lançado durante o mapeamento ou a configuração do perfil do usuário, um novo UserEntityFailuresException é lançado com a mensagem de erro gerada por ExceptionDetails e a exceção original anexada para fins de rastreamento.

      O objeto UserEntity mapeado, ou nulo se não foi possível realizar o mapeamento, é retornado ao chamador.
      Specified by:
      mapFrom in interface MapperStrategy<UserEntity,UserContract>
      Parameters:
      source - o objeto do tipo User que é usado como base para criar um objeto de entidade UserEntity.
      Returns:
      um objeto UserEntity mapeado a partir do objeto de origem do tipo User, ou nulo se o mapeamento não foi possível devido a exceções durante o mapeamento ou a configuração do perfil do usuário da entidade.
      Throws:
      UserEntityFailuresException - se o objeto de origem é nulo ou vazio, ou se um erro ocorrer durante o mapeamento ou a configuração do perfil do usuário.