Dozer: примитивное значение int -1 для отображения нулевого объекта - PullRequest
2 голосов
/ 11 марта 2009

Есть ли способ настроить dozer с помощью своего файла сопоставления xml для преобразования значения примитивного поля int, равного -1, в нулевую ссылку на объект?

Устаревшая объектная модель по умолчанию имеет значение -1, так что ноль может быть допустимым выбором.

Более новая объектная модель, с которой мы сопоставляем, предполагает, что невыбранные значения будут нулевыми, и что любое инициализированное значение объекта является допустимым. Я надеюсь избежать необходимости писать собственный конвертер для этого случая.

1 Ответ

2 голосов
/ 18 июня 2009

Вы, наверное, уже знаете это, но единственные решения, которые я вижу, это либо ...

  1. Написать собственный конвертер для него.
  2. Или написать собственный установщик свойства адресата (в новой объектной модели), который позаботился бы о переводе -1 -> null.
  3. Или написать собственный метод получения свойства источника (в старой объектной модели), который позаботился бы о переводе -1 -> null.

2 и 3 немного хуже, чем 1, поскольку они загрязняют старый код обработкой новых значений или новый код обработкой старых значений.

...