クラスがあるとしましょうMySource
:
public class MySource {
public String fieldA;
public String fieldB;
public MySource(String A, String B) {
this.fieldA = A;
this.fieldB = B;
}
}
そしてそれを object に翻訳したいと思いますMyTarget
:
public class MyTarget {
public String fieldA;
public String fieldB;
}
デフォルトの ModelMapper 設定を使用して、次の方法で実現できます。
ModelMapper modelMapper = new ModelMapper();
MySource src = new MySource("A field", "B field");
MyTarget trg = modelMapper.map(src, MyTarget.class); //success! fields are copied
ただし、発生する可能性MySource
があります。そのオブジェクトはnull
. この場合、MyTarget もnull
次のようになります。
ModelMapper modelMapper = new ModelMapper();
MySource src = null;
MyTarget trg = modelMapper.map(src, MyTarget.class); //trg = null
次のような方法でカスタム マッピングを指定したいと思います (疑似コード):
MySource src != null ? [perform default mapping] : [return new MyTarget()]
それを達成するための適切なコンバーターを作成する方法を知っている人はいますか?