java.lang.Object
diegosneves.github.conectardoacoes.core.domain.shelter.factory.ShelterFactory

public class ShelterFactory extends Object
Classe ShelterFactory responsável por fornecer métodos para criar instâncias da classe Shelter.

Esta classe é um exemplo de aplicação do padrão de projeto Factory, que fornece um método estático para a criação de instâncias de Shelter. Neste caso, a criação do objeto Shelter é abstraída para a esta classe.

Esta classe destaca a declaração de um método público estático create, responsável pela criação de uma instance de Shelter.

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

    • ShelterFactory

      private ShelterFactory()
  • Method Details

    • create

      public static Shelter create(String shelterName, Address address, UserContract responsibleUser)
      Construtor estático para a classe Shelter.

      Este método é responsável por criar uma nova instancia de Shelter com um UUID gerado dinamicamente, juntamente com os detalhes fornecidos.

      Este método utiliza o método UuidUtils.generateUuid() para gerar um UUID único para o novo objeto Shelter.

      Parameters:
      shelterName - A string que representa o nome do abrigo.
      address - A instância de Address que representa o endereço do abrigo.
      responsibleUser - A instância de UserContract quem representa o usuário responsável pelo abrigo.
      Returns:
      Shelter A nova instância de Shelter com os detalhes fornecidos.
      Throws:
      ShelterCreationFailureException - se qualquer informação do Abrigo fornecida for inválida.