Использование POJO в качестве источника данных iReport - PullRequest
0 голосов
/ 30 января 2010

У меня есть POJO, который собирает данные из разных источников в один объект. Объект создается с одним параметром. Пример:

Invoice inv=new Invoice(1239);

Это вернет полный счет, содержащий другие POJO, заполненные данными из различных источников (например, адреса выставления счета и доставки в виде Address объектов).

Можно ли использовать это как источник данных в iReport?

1 Ответ

2 голосов
/ 01 февраля 2010

Вы можете попробовать использовать JRMapCollectionDataSource, из которого вы можете создать источник данных из коллекции.

Вы можете взять значения из объекта POJO и поместить их в коллекцию, если это возможно.

Вот пример кода для создания источника данных.

Collection<Map<String, Object>> myColl = new ArrayList<Map<String,Object>>();

Map<String, Object> map1 = new HashMap<String, Object>();
map1.put("Field1","Value1");
map1.put("Field2","Value2");
map1.put("Field3", someObject);
myColl.add(map1);

JRMapCollectionDataSource source = new JRMapCollectionDataSource(myColl);

Другим вариантом будет создание пользовательского источника данных путем реализации JRRewindableDataSource или JRDataSource.

...