Usando o JSR 303, é possível gerar validação.xml a partir de anotações?
-
21-09-2019 - |
Pergunta
Digamos que eu tenho uma aula de anotação JSR 303 como esta:
class A {
@NotNull
private String b;
@Min(5)
@Max(10)
private int num = 3;
@Pattern(regexp="[0-9]*")
private String foo = "12345aa";
}
Como posso fazer essa aula e gerar uma validação.xml que contém as mesmas restrições que as especificadas pelas anotações?
Solução
A idéia seria escrever o seu próprio Processador de anotação. O trabalho duro é mapear a anotação para o equivalente XML. Existem alguns exemplos que você pode observar sobre como escrever um processador de anotação. Por exemplo, o Validador do Hibernato usa o processamento da anotação para dar aos desenvolvedores a capacidade de verificar sua colocação de restrição durante o desenvolvimento (ver RestrintValidationProcessor). Ou dê uma olhada no gerador de metamodelo JPA2 da Hibernate. Afaik, ainda não há ferramenta por aí que faça o que você deseja. BTW, por que você quer o XML?