1

我想在我的类上使用 JSR 303 Bean 验证。我的问题是这些类是从模式生成的。我在绑定文件上使用了 jaxb 注释插件,并且能够定义简单的验证注释,如 @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 回答