В Dozer отображение между доменом и классами DTO выполняется следующим образом:
<mapping>
<class-a>Domain.A</class-a>
<class-b>DTO.A</class-b>
<field>
<a>cField</a>
<b>cField</b>
<a-hint>Domain.Ab</a-hint>
<b-hint>DTO.Ab</b-hint>
</field>
</mapping>
подсказка используется, чтобы сообщить dozer, какой тип объектов вы хотите создать в Списке адресатов (поправьте меня, если я ошибаюсь).
Как мы можем добиться того же в MapStruct?
Где реализация класса A выглядит следующим образом:
public class A<T extends Ab> extends B<T>{
}
Реализация B выглядит следующим образом:
public class B<T extends C> implements serializable{
private List<T> cField = new ArrayList<T>();
private String d;
//getters and setters
}
Реализация Ab выглядит следующим образом:
public abstract class Ab implements C{
}
Здесь C - это интерфейс без полей.
В Ab нет полей, и он расширяется некоторыми классами E и F.
Не могли бы вы дать мне знать, как будет выглядеть картограф для вышеуказанного сценария?