Dozer отображает один класс на уровне с вложенными классами, такими как поля - PullRequest
0 голосов
/ 29 июня 2018

У меня есть класс sourcs

public class A{
    private String f1;
    private String f2;
    private String f3;
    private String f4;
  }

И у меня есть класс назначения B. B содержит класс, подобный полю.

 public class B{
    private String f1;
    private String f2;
    private C c;
  }

  public class C{
    private String f3;
    private String f4;
  }

Мне нужна карта от A до B. Я создаю mapperBuilder и конфигурационную логику

BeanMappingBuilder mappingBuilder = new BeanMappingBuilder() {
    @Override
    protected void configure() {

      TypeMappingBuilder test = mapping(A.class, B.class);
      test .fields("f1", "f1");
      test .fields("f2", "f2");
      test .fields("f3", "???");
      test .fields("f4", "???");//How can I set f4 value to b.c.f4?
    }
  };

Я создаю маппер:

  A a = new A();
  //add data to a object
  mapper = new DozerBeanMapper();
  mapper.addMapping(mappingBuilder);
  B b= mapper.map(a, B.class);
...