Может ли пользовательский преобразователь принимать объекты, отличные от строки, в качестве параметра

Я хочу передать объект карты пользовательскому конвертеру в качестве пользовательского параметра.

<class-a>SourceBom</class-a>
      <class-b>TargetBom</class-b>
        <field custom-converter="myCustomConverter"  custom-converter-param="mapObject">
             <a > address.HouseNo</a> 
             <b> user.home.address.houseNo</b> 
        </field>

CustomConverter нуждается в значениях объектов карты (которые были созданы вне этого сопоставления) для преобразования. Dozer предоставляет способ отправки не строковых объектов в качестве customParameter.


person Malathi Damodaran    schedule 27.10.2017    source источник
comment
Привет @Malathi, если этот ответ решил ваш вопрос, рассмотрите возможность его принятия, нажав на галочку и проголосовав за него. Это показывает более широкому сообществу, что вы нашли решение, и повышает репутацию как отвечающего, так и вас самих.   -  person Ray    schedule 31.10.2017


Ответы (1)


Нет, Dozer не предоставляет способ обработки не строковых объектов в качестве параметров. Если вы посмотрите на документацию, метод переопределения специально устанавливает параметр как строку.

Этот параметр предназначен для того, чтобы конвертер мог легко различать множество похожих типов преобразований, а не нести важные данные (в данном случае ваш объект карты). Я уверен, что можно воссоздать ваш преобразователь таким образом, чтобы карта не требовалась в качестве параметра.

Вы можете опубликовать другой вопрос для этого, если хотите, и я отвечу на него.

person Ray    schedule 29.10.2017