Предположим, у меня есть следующие классы
public class Baz {
private List<Foo> foos = new ArrayList<Foo>();
}
public class Foo {
private String string;
}
public class Target {
private List<String> fooStrings = new ArrayList<String>();
}
Есть ли какое-либо сопоставление, которое я могу использовать для данного Baz, сопоставить его с целевым классом и получить список строк, содержащихся в foo в Baz? Следующее отображение не работает
<mapping>
<class-a>Baz</class-a>
<class-b>Target</class-b>
<field>
<a>foos.string</a>
<b>fooStrings</b>
</field>
</mapping>
Потому что string не является свойством foos (типа List). Я бы подумал, что Dozer будет достаточно умен, чтобы, если бы он встретил коллекцию в глубоком отображении, а целью была также коллекция, чтобы можно было разбить глубокое имя свойства на два и выполнить итерацию по коллекции, чтобы получить дочернюю часть. глубокого картирования от членов коллекции. Очевидно нет. Есть ли решение, кроме запроса функции Dozer?