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
Produtosejam privados.- Implemente os métodos
gettersesettersnecessários para acessar e modificar os atributos da classeProdutoe faça com que ossetterslancem as exceções citadas anteriormente, quando necessário.- Implemente um construtor na classe
Produtoque 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-resourcespara garantir o fechamento do arquivo.- Qualquer êxitos ou falhas ao criar/alterar um produto devem ser registradas no arquivo de log.