2010-12-27 1 views
1

Je veux utiliser la validation JSR 303 Bean sur mes classes. Mon problème est que ces classes sont générées à partir du schéma. J'utilise le plugin jaxb annotate sur mon fichier de liaison et j'ai pu définir des annotations de validation simples comme @NotNull. Mon problème vient quand je dois définir plusieurs annotations de même type pour différents groupes. javax.validation propose une solution pour cela en utilisant des annotations telles que @ Size.List {@Size ...). Comment puis-je utiliser jaxb-annotate et annox plugin pour définir des annotations comme celles-ci.Comment définir javax.validation.constraints.Size.List dans mon fichier de liaison en utilisant jaxb annotate et annox plugins?

Répondre

0

Vous pouvez définir des annotations imbriquées avec Annox, ce n'est pas un problème. Dans votre cas, ce sera quelque chose comme:

Dans le fichier * .xjb:

<annox:annotate> 
    <annox:annotate annox:class="javax.validation.constraints.Size$List"> 
    <annox:annotate annox:field="value"> 
     <annox:annotate annox:class="javax.validation.constraints.Size" .../> 
    </annox:annotate> 
    </annox:annotate> 
</annox:annotate> 

dans le schéma:

<annox:annotate> 
    <c:Size$List xmlns:c="http://annox.dev.java.net/javax.validation.constraints"> 
    <c:value> 
     <c:Size ... /> 
    </c:value> 
    </c:Size$List> 
</annox:annotate> 

Je ne l'ai pas testé, donc la syntaxe peut être un peu différent.

Voir le Annox user guide et le Annotate plugin docs.

Questions connexes