Я рефакторирую некоторый код для использования JAXB и отражения для вывода кода клиенту, в настоящее время он использует XMLWriter и каждый раз вручную создает теги.
Проблема, с которой я столкнулся, заключается в том, что из-за ограничений на стороне клиента мне нужно иметь пустые элементы в XML для любых пустых полей в классе java.
Хотя я понимаю, что эту проблему можно решить, добавив nillable = true
к каждой аннотации JAXB XmlElement
, это не самый практичный вариант, поскольку у меня много таких аннотаций.
Я надеялся найти способ установить nillable = true
в качестве глобального атрибута (или значения по умолчанию). Это также облегчит будущим коллегам работу над ним, поскольку им не нужно будет помнить, что каждая аннотация должна включать атрибут nillable
.
Я не нашел ничего, кроме описаний поведения по умолчанию. Я нахожу удивительным, что раньше никто не задавал подобных вопросов. Из того, что я обнаружил, мне не кажется, что есть какая-либо встроенная поддержка для настройки по умолчанию. Может ли это быть решено с помощью специальной реализации JAXB или, возможно, сторонней реализации JAXB?