All Known Implementing Classes:
User

public interface UserContract
A interface UserContract define o contrato para o gerenciamento de um usuário no sistema. Ela especifica os métodos que devemos implementar para manipular os detalhes essenciais do usuário, como ID, nome de usuário, email, senha e perfil.

A implementação desta interface deve garantir a validação adequada dos dados do usuário antes de prosseguir com qualquer operação, como a mudança de senha ou nome de usuário. Se qualquer dado inválido for fornecido, como uma senha ou username nulo ou em branco, deverá lançar a exceção UserCreationFailureException.

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

    • getId

      String getId()
      Este método retorna o ID único do usuário.
      Returns:
      ID do usuário como String.
    • getUsername

      String getUsername()
      Obtém o nome de usuário do usuário.
      Returns:
      nome de usuário como String.
    • getEmail

      String getEmail()
      Obtém o email do usuário.
      Returns:
      Email do usuário como String.
    • getUserPassword

      String getUserPassword()
      Recupera a senha do usuário.

      Em uma implementação segura, esse método deve ser manuseado com cuidado para evitar a exposição de dados sensíveis.

      Returns:
      Senha do usuário como String.
    • getUserProfile

      UserProfile getUserProfile()
      Retorna o objeto UserProfile associado ao usuário.
      Returns:
      A instância de UserProfile do usuário.
    • changeUserPassword

      void changeUserPassword(String password) throws UserCreationFailureException
      Altera a senha do usuário atual.

      Este método é usado para alterar a senha do usuário. Ele verifica se a senha fornecida é nula ou em branco. Se for esse o caso, ele lançará uma exceção UserCreationFailureException.

      Parameters:
      password - Nova senha do usuário como uma String. Ela não pode ser nula ou em branco.
      Throws:
      UserCreationFailureException - se a senha fornecida for nula ou em branco. Isso indica que uma senha adequada não foi fornecida.
    • changeUserName

      void changeUserName(String updatedUsername)
      Este método é responsável por alterar o nome de usuário.

      Cuidados são tomados para garantir que o nome de usuário não seja uma String vazia ou nula, caso contrário, seria levantada uma exceção UserCreationFailureException indicando que o nome de usuário é obrigatório.

      Essa operação é realizada para o perfil de usuário atual associado a este objeto e o valor de 'this.userName' é alterado no final. O nome de usuário atribuído aqui é usado posteriormente em outras operações relacionadas ao usuário.

      Parameters:
      updatedUsername - uma String que contém o novo nome de usuário.
      Throws:
      UserCreationFailureException - se o parâmetro updatedUsername é nulo ou uma String vazia.