Используя каркас MapStruct, как сопоставить несколько полей в одно (на основе пользовательских логик c), при этом сопоставляя другие поля один к одному?
Вот простой пример, чтобы проиллюстрировать, что я имею в виду:
public class Source {
private String firstname;
private String surname;
// other fields eg:
private String address;
private int age;
private int favoriteNumber;
}
public class Target {
private String fullname; // Sould be firstname + surname
// other fields eg:
private String address;
private int age;
private int favoriteNumber;
}
Я знаю, что это возможно, используя выражения:
@Mapping(target = "fullname", expression = "java(el.getFirstname() + el.getSurname())")
Но в моем специальном использовании В этом случае, не изображенном в этом примере, мне нужно использовать некоторую внешнюю библиотеку для слияния / сопоставления двух полей, что невозможно с выражениями.
Есть ли способ добиться объединения двух полей без выражений?