Можете ли вы изменить значение по умолчанию для атрибута nillable в JAXB?

Я рефакторирую некоторый код для использования JAXB и отражения для вывода кода клиенту, в настоящее время он использует XMLWriter и каждый раз вручную создает теги.

Проблема, с которой я столкнулся, заключается в том, что из-за ограничений на стороне клиента мне нужно иметь пустые элементы в XML для любых пустых полей в классе java.

Хотя я понимаю, что эту проблему можно решить, добавив nillable = true к каждой аннотации JAXB XmlElement , это не самый практичный вариант, поскольку у меня много таких аннотаций.

Я надеялся найти способ установить nillable = true в качестве глобального атрибута (или значения по умолчанию). Это также облегчит будущим коллегам работу над ним, поскольку им не нужно будет помнить, что каждая аннотация должна включать атрибут nillable .

Я не нашел ничего, кроме описаний поведения по умолчанию. Я нахожу удивительным, что раньше никто не задавал подобных вопросов. Из того, что я обнаружил, мне не кажется, что есть какая-либо встроенная поддержка для настройки по умолчанию. Может ли это быть решено с помощью специальной реализации JAXB или, возможно, сторонней реализации JAXB?

6
задан skaffman 12 January 2012 в 19:41
поделиться