Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Anotações mais inteligentes

Durante a aula vimos anotações apenas para alterar o nome de uma Classe/Atributo. Porém , caso que quisesse uma anotação que por exemplo validasse maior de idade, no caso eu criaria a Anotation MaiorDeIdade, porém como eu faria com essa anotação para que dado o atributo idade em uma classe qualquer anotado com MaiorDeIdade essa anoitação já validasse se o o individuo é maior de idade ou não?

É possivel criar anotações com esse tipo de inteligencia?

1 resposta
solução!

Olá Rafael,

Sim, podemos criar anotações para diversas tarefas. Especificamente para validações com esta que você citou, não precisamos reinventar a roda. Já existe uma API do Java chamada Bean Validation que faz diversos tipos de validações sobre dados de uma classe.

Por exemplo se quisermos validar a idade de uma pessoa da forma como você falou, bastaria fazermos algo similar ao código a seguir:

public class Pessoa {
    @Min(value = 18, message = "idade não deve ser menor que 18")
    private int idade;
}

Estas anotações do Bean Validation vão servir tanto para realizar validações de dados para serviços REST que você implementar (usando bibliotecas como Jersey ou Resteasy) ou para persistir dados em banco com o Hibernate.

Algumas referências para você dar uma olhada a respeito desta API: https://www.baeldung.com/javax-validation https://www.linkedin.com/pulse/bean-validation-uma-forma-simples-de-reduzir-do-java-na-nascimento/?originalSubdomain=pt

Espero ter ajudado.