如何使用jaxb annotate和annox插件在我的绑定文件中定义javax.validation.constraints.Size.List?

时间:2010-12-27 18:44:50

标签: annotations jaxb annox

我想在我的类上使用JSR 303 Bean验证。我的问题是这些类是从模式生成的。我在我的绑定文件上使用jaxb annotate插件,并且能够定义简单的验证注释,如@NotNull。当我必须为不同的组定义多个相同类型的注释时,我的问题出现了。 javax.validation使用@ Size.List {@Size ...)等注释为此提供了解决方案。我如何使用jaxb-annotate和annox插件来定义这些注释。

1 个答案:

答案 0 :(得分: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>

我还没有测试过,所以语法可能有点不同。

请参阅Annox user guideAnnotate plugin docs

相关问题