Как передать `this` в отображение поля Dozer?
В моем приложении у меня есть Dozer, который выглядит так:
<mapping>
<class-a>java.util.HashMap</class-a>
<class-b>org.mycompany.TargetClass</class-b>
<field custom-converter="org.example.MyConverter">
<a>this</a>
<b>anotherField</b>
</field>
</mapping>
MyConverter
это пример ConfigurableCustomConverter
:
public class MyConverter implements ConfigurableCustomConverter {
private String parameter;
@Override
public Object convert(
Object existingDestinationFieldValue,
Object sourceFieldValue,
Class<?> destinationClass,
Class<?> sourceClass) {
// sourceClass is always java.lang.Object and
// sourceFieldValue is always null!!!
}
@Override
public void setParameter(String parameter) {
this.parameter = parameter;
}
}
Почему происходят события, отмеченные в комментарии источника?
1 ответ
Вы должны указать dozer, какой ключ карты должен быть сопоставлен b.anotherField
с чем-то вроде
<field custom-converter="org.example.MyConverter">
<a key="foobar">this</a>
<b>anotherField</b>
</field>