Я начал использовать MapStruct недавно и сомневался. Так можно ли наследовать сопоставления от одного метода к другому методу, который используется для сопоставления подкласса выходных данных предыдущего метода.
Например - если у меня есть класс Car, который необходимо сопоставить с двумя классами FourWheeler и DetailFourWheeler (который расширяет класс FourWheeler), могу ли я использовать сопоставления, определенные для преобразования Car в FourWheeler, в мой метод, который преобразует Car в DetailFourWheeler? Вот пример кода -
@lombok.Data
public class Car {
private String color;
private String brand;
private String variant;
}
@lombok.Data
public class FourWheeler {
private String paint;
private String company;
}
@lombok.Data
public class DetailedFourWheeler extends FourWheeler {
private String model;
}
My Mapper для этого выглядит так -
@Mapper
interface FourWheelerMapper {
public static final FourWheelerMapper INSTANCE = Mappers.getMapper(FourWheelerMapper.class);
@Mappings({
@Mapping(source = "color", target = "paint"),
@Mapping(source = "brand", target = "company")
})
FourWheeler mapToFourWheeler(Car car);
@Mappings({
@Mapping(source = "color", target = "paint"),
@Mapping(source = "brand", target = "company"),
@Mapping(source = "variant", target = "model")
})
DetailedFourWheeler mapToDetailedFourWheeler(Car car);
}
Я хочу знать, можно ли изменить mapToDetailedFourWheeler, например -
@InheritMappingsFromParent
@Mappings({
@Mapping(source = "variant", target = "model")
})
DetailedFourWheeler mapToDetailedFourWheeler(Car car);
Здесь мой InheritMappingsFromParent должен внести сопоставления для цвета и бренда из предыдущего метода.
Мне не удалось найти что-то относящееся к этому в документации. Спасибо