MapStruct: Как указать в mapper тип объектов, которые должны быть созданы в списке назначения? - PullRequest
0 голосов
/ 06 ноября 2018

В 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.

Не могли бы вы дать мне знать, как будет выглядеть картограф для вышеуказанного сценария?

...