Interface AddressEntityService

All Known Implementing Classes:
AddressEntityServiceImpl

public interface AddressEntityService
A Interface AddressEntityService é responsável pela manipulação de entidades de endereços na camada de serviço do sistema. Possui métodos que traduzem os requerimentos de negócio da aplicação para operações realizadas na camada de persistência de dados.

Como parte de suas responsabilidades, lida com a conversão entre DTOs e entidades de endereço, garantindo a validação necessária dos dados e gerenciando o processo de persistência na base de dados.

Os serviços oferecidos por esta interface incluem a criação de novas entidades de endereço a partir de DTOs de endereço, possuindo mecanismos de tratamento de exceções que são acionados quando há falhas durante esta criação.

Os métodos declarados devem ser implementados por uma classe de serviço concreta para que sejam executados.

Since:
1.1.0
Author:
diegoneves
  • Method Details

    • createAndSaveAddressFromDto

      Address createAndSaveAddressFromDto(AddressDTO address) throws AddressEntityFailuresException
      Cria e salva uma entidade de endereço Address com base nas informações fornecidas no DTO de Endereço AddressDTO.

      Este método recebe um objeto AddressDTO, que contém as informações de endereço, e retorna um objeto Address, que representa a entidade de endereço criada e salva.

      O processamento inclui a conversão do DTO de endereço em uma entidade de endereço, validando as informações e salvando a entidade na base de dados. Em caso de falha na criação da entidade de endereço, uma exceção AddressEntityFailuresException será lançada.

      Parameters:
      address - Um objeto AddressDTO contendo as informações do endereço para criação da entidade de endereço.
      Returns:
      A entidade de endereço Address criada e salva.
      Throws:
      AddressEntityFailuresException - Se ocorrer uma falha durante a criação da entidade de endereço.
    • restrieveAddress

      AddressApiResponseDTO restrieveAddress(String zipcode)
      Recupera um endereço usando o CEP fornecido.

      Este método tem como objetivo fazer uma requisição para recuperar um endereço através de um CEP fornecido como parâmetro, retornando um objeto AddressApiResponseDTO contendo os detalhes do endereço.

      O método interage com um serviço RetrieveAddressAdapter para realizar a requisição e obter a resposta correspondente. Após obter a resposta, a mesma é convertida para AddressApiResponseDTO e retorna ao chamador. Em caso de falha na recuperação do endereço, como por exemplo CEP nulo ou vazio, uma exceção AddressEntityFailuresException será lançada.

      Parameters:
      zipcode - Um String que representa o CEP para o qual o endereço precisa ser recuperado.
      Returns:
      Um objeto AddressApiResponseDTO que representa o endereço recuperado do CEP fornecido.
      Throws:
      AddressEntityFailuresException - Se o zipcode recebido for nulo ou vázio.
      ExternalApiFailureException - Se ocorrer uma falha durante a recuperação do endereço.