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