Я правильно оцениваю структуру бульдозера. Мне было интересно, можно ли обработать следующий вариант использования:
классы:
public ClassA {
private Set<ItemA> aItems;
}
public ClassB {
private ClassC cInstance;
}
public ClassC {
private List<ItemB> bItems;
}
отображение бульдозера:
<mapping>
<class-a>ClassA</class-a>
<class-b>ClassB</class-b>
<field>
<a>aItems</a>
<b>cInstance.bItems</b>
</field>
</mapping>
Судя по моим тестам, это не работает. Мне было особенно интересно, как я должен сказать dozer, что он должен генерировать экземпляр ClassB и ClassC по запросу? В частности, мне нужно конкретное сопоставление бульдозера для класса B, который существует только как «промежуточный» класс в моей целевой модели?
PS: если это поможет, моя модель назначения состоит из классов JAXB.
PPS: я также попытался изменить метод установки для cInstance, чтобы, если он равен нулю, он должен генерировать новый экземпляр ClassC - к сожалению, безуспешно. Кроме того, я не хочу изменять метод установки таким образом (однако, возможно, я могу передать это классу Factory, который будет использоваться для сопоставления)
ClassB
, где полеcInstance
уже инициализировано, если это приемлемо. - person MvG   schedule 19.03.2013