Я хотел бы отобразить поле с вложенной коллекцией, используя библиотеку Орики. Мое поле в классе определяется как:Может ли Orika отображать вложенные коллекции?
private final List<List<Pojo>> list = new LinkedList<List<Pojo>>();
Pojo - это простой класс POJO. К сожалению, у меня есть MappingException, вызванное NullPointerException во внутренней логике Орики.
Я сделал что-то не так? Может быть, мне нужно использовать функцию Custom Mapping?
EDIT:
Вот мой код:
public class Pojo {
private int field;
public int getField() {
return field;
}
public void setField(final int field) {
this.field = field;
}
}
общественный класс Источник { частный окончательный список> Список = новый LinkedList>();
public List<List<Pojo>> getList() {
return list;
}
}
общественного класса назначения { частный окончательный список> listDest = новый LinkedList>();
public List<List<Pojo>> getListDest() {
return listDest;
}
}
общественного класса Main {
public static void main(final String[] args) {
final MapperFactory factory = new DefaultMapperFactory.Builder().build();
factory.classMap(Source.class, Destination.class).field("list", "listDest").byDefault().register();
final Source src = new Source();
final LinkedList<Pojo> nestedList = new LinkedList<Pojo>();
final Pojo pojo = new Pojo();
pojo.setField(8978);
nestedList.add(pojo);
src.getList().add(nestedList);
final MapperFacade facade = factory.getMapperFacade();
final Destination dest = facade.map(src, Destination.class);
System.out.println(dest.getListDest().get(0).get(0).getField());
}
}
Выполнение выше результатов кода это исключение:
Exception in thread "main" ma.glasnost.orika.MappingException: Error encountered while mapping for the following inputs:
[email protected]
sourceClass=class com.bbh.nested.Source
destinationClass=class com.bbh.nested.Destination
Можете ли вы показать нам, как вы настроить отображение и как вызвать Orika? –
@SidiMohamed Спасибо за ваш ответ. Я прикрепил образец кода. – Viper