Как определить javax.validation.constraints.Size.List в моем файле привязки с помощью плагинов jaxb annotate и annox?

Я хочу использовать проверку JSR 303 Bean в своих классах. Моя проблема в том, что эти классы генерируются из схемы. Я использую плагин аннотаций jaxb в своем файле привязок и смог определить простые аннотации проверки, такие как @NotNull. Моя проблема возникает, когда мне нужно определить несколько аннотаций одного типа для разных групп. javax.validation предлагает решение этой проблемы с использованием аннотаций типа @ Size.List {@Size ...). Как я могу использовать плагин jaxb-annotate и annox для определения подобных аннотаций.


person Bitter Me    schedule 27.12.2010    source источник


Ответы (1)


Вы можете определять вложенные аннотации с помощью 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 и Добавление комментариев к документам плагина.

person lexicore    schedule 07.09.2011