空の文字列を持つ宛先オブジェクトのStringプロパティをDozerで初期化する必要があります。
これらのオブジェクトを想像してみてください。
SRC
public class Container {
private String animalName;
....
DEST
public class Animal {
private String name;
private String type;
ContainerからAnimalに初期化し、typeプロパティをnullではなく""に設定する必要があります。
私が見つけた唯一の方法は、次のようにカスタムコンバーターを作成することです。
public class InitializeStringConverter extends DozerConverter<Container, String>{
public InitializeStringConverter() {
super(Container.class, String.class);
}
@Override
public Container convertFrom(String arg0, Container arg1) {
return null;
}
@Override
public String convertTo(Container arg0, String arg1) {
return "";
}
}
そしてこのマッピングを持っている:
<mapping>
<class-a>it.alten.sample.mapping.Container</class-a>
<class-b>it.alten.sample.mapping.Animal</class-b>
<field custom-converter="it.alten.sample.mapping.converter.InitializeStringConverter">
<a>this</a>
<b>type</b>
</field>
<!--
<field>
<a>animalName</a>
<b>name</b>
</field>
-->
<field>
<a>animalType</a>
<b>type</b>
</field>
</mapping>
このタスクを実行するためのより簡潔な方法はありますか?
マッシモよろしくお願いします