1

クラスで JSR 303 Bean 検証を使用したいと考えています。私の問題は、これらのクラスがスキーマから生成されることです。バインディング ファイルで jaxb annotate プラグインを使用しており、@NotNull のような単純な検証アノテーションを定義できました。私の問題は、異なるグループに対して同じタイプの複数の注釈を定義する必要がある場合に発生します。javax.validation は、@Size.List{@Size...) などの注釈を使用して、これに対するソリューションを提供します。jaxb-annotate と annox プラグインを使用して、そのような注釈を定義するにはどうすればよいですか。

4

1 に答える 1

0

Annox でネストされたアノテーションを定義できますが、問題ありません。あなたの場合、それは次のようになります:

*.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>

スキーマ内:

<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>

私はそれをテストしていないので、構文は少し異なるかもしれません。

Annotate のユーザー ガイドAnnotate プラグインのドキュメントを参照してください。

于 2011-09-07T09:22:37.543 に答える