Você foi contratado para prototipar a estrutura básica de um estoque de uma empresa. Sua tarefa é implementar a lógica para garantir a integridade dos dados dos produtos, seguindo as seguintes regras:
NomeException
deve ser lançada, contendo uma mensagem explicativa para ser apresentada ao usuário.PrecoException
deve ser lançada, contendo uma mensagem explicativa para ser apresentada ao usuário.QuantidadeException
deve ser lançada, contendo uma mensagem explicativa para ser apresentada ao usuário.
Pontos de atenção
- Certifique que os atributos da classe
Produto
sejam privados.- Implemente os métodos
getters
esetters
necessários para acessar e modificar os atributos da classeProduto
e faça com que ossetters
lancem as exceções citadas anteriormente, quando necessário.- Implemente um construtor na classe
Produto
que recebe o nome, a quantidade e o preço unitário como parâmetros e inicializa os atributos da classe através dossetters
.- Crie uma classe exclusivamente para lidar com os logs e utilize o
try-with-resources
para garantir o fechamento do arquivo.- Qualquer êxitos ou falhas ao criar/alterar um produto devem ser registradas no arquivo de log.