Mapstruct: сопоставить список внутри объекта со списком объектов - PullRequest
1 голос
/ 23 мая 2019

Учитывая:

public class Car {
  private String plate;
  private List<String> tires;
}

public class TirePlate {
  private String plate;
  private String tire;
}

Я хочу отобразить все Car.tires на отдельные TirePlates.Я понимаю, что могу сделать картограф от List<String> до List<tires>, но если бы я это сделал, я бы потерял тарелку.

Как мне туда вставить тарелку?

1 Ответ

0 голосов
/ 25 мая 2019

Что вы можете сделать, это создать собственный список для списка, который получит plate, и тогда у вас будет собственный метод отображения из plate и tire в TirePlate.

Например:

@Mapper
public interface TireMapper {

    CarDto map(Car car);

    default List<TirePlate> map(List<String> tires, String plate) {
        List<TirePlate> tirePlates = new ArrayList<>(tires.size());

        for(String tire: tires) {
            tirePlates.add(map(tire, plate));
        }
        return tirePlates;
    }

    TirePlate map(String tire, String plate);
}
...