Interface ShelterContract
- All Known Implementing Classes:
Shelter
ShelterContract define os métodos que representam os principais comportamentos e a divulgação de informações de uma entidade Shelter.
Essa interface é fundamental para definir os contratos para identificação do Abrigo, gerenciamento e atualização de endereço e nome do abrigo, além da adição de doações e recuperação de um usuário responsável pelo abrigo.
- Since:
- 1.0.0
- Author:
- diegoneves
-
Method Summary
Modifier and TypeMethodDescriptionvoidaddDonation(Donation donation) Adiciona uma doação à lista de doações do abrigo.voidchangeAddress(Address address) Este método é usado para alterar o endereço do abrigo.voidchangeShelterName(String shelterName) Altera o nome do abrigo.Retorna o endereço do refúgio na forma de um objetoAddress.Retorna uma lista de todas as doações associadas ao Abrigo.getId()Retorna a identificação do refúgio na forma de uma String.Retorna o nome do refúgio na forma de uma String.getUser()Retorna o usuário associado ao refúgio na forma de um objetoUserContract.
-
Method Details
-
getId
String getId()Retorna a identificação do refúgio na forma de uma String.- Returns:
- uma String que representa a identificação única do refúgio
-
getShelterName
String getShelterName()Retorna o nome do refúgio na forma de uma String.- Returns:
- uma String que representa o nome do refúgio.
-
getAddress
Address getAddress()Retorna o endereço do refúgio na forma de um objetoAddress.- Returns:
- um objeto Address que representa o endereço do refúgio.
-
getDonations
Retorna uma lista de todas as doações associadas ao Abrigo.Cada item na lista é um objeto
Donation, que representa uma doação feita ao Abrigo. A doação contém informações sobre a descrição e a quantidade da doação.Este método não recebe nenhum parâmetro.
- Returns:
- Uma lista de objetos
Donationque representam as doações feitas ao Abrigo. Se não houver doações, este método retornará uma lista vazia.
-
changeAddress
Este método é usado para alterar o endereço do abrigo.Antes de alterar o endereço, este método verifica se o novo endereço fornecido não é nulo. Se o endereço for nulo, o método lançará uma
ShelterCreationFailureException. Isto garante que o endereço do abrigo sempre seja válido. Se o endereço passar por esta verificação, ele será atribuído como o novo endereço do abrigo, substituindo o endereço antigo.- Parameters:
address- O novo endereço que deve ser atribuído ao abrigo. Deve ser uma instância da classeAddress, que representa um endereço físico e não pode ser nulo.- Throws:
ShelterCreationFailureException- Se o endereço fornecido for nulo.
-
changeShelterName
Altera o nome do abrigo. Esse método recebe o novo nome do abrigo como parâmetro e substitui o nome atual armazenado no objetoShelterpelo novo nome fornecido (não vazio e não nulo). Antes da atribuição, realiza uma verificação para certificar-se de que o novo nome do abrigo não é nulo nem vazio. Se essa verificação falhar, uma exceçãoShelterCreationFailureExceptionserá lançada.- Parameters:
shelterName- O novo nome do abrigo. Este nome deve ser um valor String não nulo e não vazio.- Throws:
ShelterCreationFailureException- Se o parâmetro shelterName for nulo ou vazio.
-
addDonation
Adiciona uma doação à lista de doações do abrigo.Este método primeiramente verifica se a doação não é nula, se for, uma
ShelterCreationFailureExceptionserá lançada com uma mensagem de erro adequada. Se a doação passar pela verificação, então ela é adicionada à lista interna de doações do abrigo.- Parameters:
donation- Um objeto da classe Donation que representa a doação que será adicionada ao abrigo. Se a doação for nula, o método irá lançar uma exceção.- Throws:
ShelterCreationFailureException- Se a doação for nula.
-
getUser
UserContract getUser()Retorna o usuário associado ao refúgio na forma de um objetoUserContract.- Returns:
- um objeto
UserContractque representa o usuário responsável pelo refúgio.
-