7

クラスがあるとしましょう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()]

それを達成するための適切なコンバーターを作成する方法を知っている人はいますか?

4

1 に答える 1