2012-02-13 4 views
0

Мы используем Castor для развязывания объекта Castor с XML-строкой. Castor не создает пустые теги для нулевых объектов. Есть ли доступный API, чтобы установить его как параметр, а не сортировать?Castor Marshaller для возврата пустых тегов для нулевых объектов

Существует способ справиться с этим, используя обработчик и переопределить метод convertUponGet, чтобы вернуть пустую строку. Но, есть ли лучше сделать это?

Любые подсказки помогут.

ответ

0

Из того, что я видел, есть 3 способа справиться с этим в порядке лучшего к худшему.

  1. Использовать генерализованный фильтр, как описано в http://stackoverflow.com/questions/9176479/how-to-tell-castor-to-marshall-a-null-field-to-an-empty-tag. Обработчик полей может использоваться повторно для других полей и не изменяет поведение вашего класса.

  2. Измените метод get для данного поля, чтобы проверить наличие нулей и вернуть пустую строку, если она равна нулю. Этот подход изменяет поведение вашего класса, поэтому, если у вас есть другие части вашего кода, полагающиеся на значения null для этого поля, что также не очень хорошо, вы столкнетесь с проблемами.

  3. Измените Castor самостоятельно, чтобы вернуть пустую строку, когда встречается нуль. Обычно очень плохая идея сменить инструмент, который вы используете, если только вы не представите его разработчикам проекта для интеграции в свою базу кода для будущих выпусков. Это не представляется вероятным, поскольку этот выпуск был возвращен в 2007 году http://old.nabble.com/Forcing-marshalling-of-null-empty-values--to9080721.html#a9096375, если не раньше

 Смежные вопросы

  • Нет связанных вопросов^_^