01: /*
02: * Copyright (C) 2005 - 2008 JasperSoft Corporation. All rights reserved.
03: * http://www.jaspersoft.com.
04: *
05: * Unless you have purchased a commercial license agreement from JasperSoft,
06: * the following license terms apply:
07: *
08: * This program is free software; you can redistribute it and/or modify
09: * it under the terms of the GNU General Public License version 2 as published by
10: * the Free Software Foundation.
11: *
12: * This program is distributed WITHOUT ANY WARRANTY; and without the
13: * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14: * See the GNU General Public License for more details.
15: *
16: * You should have received a copy of the GNU General Public License
17: * along with this program; if not, see http://www.gnu.org/licenses/gpl.txt
18: * or write to:
19: *
20: * Free Software Foundation, Inc.,
21: * 59 Temple Place - Suite 330,
22: * Boston, MA USA 02111-1307
23: *
24: *
25: *
26: *
27: * PersonBeansDataSource.java
28: *
29: */
30:
31: package it.businesslogic.ireport.examples;
32:
33: import net.sf.jasperreports.engine.*;
34: import net.sf.jasperreports.engine.data.*;
35: import it.businesslogic.ireport.examples.beans.*;
36: import java.util.*;
37:
38: public class PersonBeansDataSource extends
39: JRAbstractBeanDataSourceProvider {
40:
41: public PersonBeansDataSource() {
42: super (PersonBean.class);
43:
44: }
45:
46: public JRField[] getFields(JasperReport report) throws JRException {
47:
48: if (report != null) {
49: System.out.println(report);
50: JRParameter[] params = report.getParameters();
51: for (int i = 0; i < params.length; ++i) {
52: System.out.println(params[i].getName() + " "
53: + params[i].getDefaultValueExpression());
54: }
55:
56: String[] properties = report.getPropertyNames();
57: for (int i = 0; i < properties.length; ++i) {
58: System.out.println(properties[i] + " = "
59: + report.getProperty(properties[i]));
60: }
61: }
62: return super .getFields(report);
63: }
64:
65: public JRDataSource create(JasperReport report) throws JRException {
66:
67: ArrayList list = new ArrayList();
68: list.add(new PersonBean("Aldo"));
69: list.add(new PersonBean("Giovanni"));
70: list.add(new PersonBean("Giacomo"));
71:
72: return new JRBeanCollectionDataSource(list);
73:
74: }
75:
76: public void dispose(JRDataSource dataSource) throws JRException {
77: // nothing to do
78: }
79: }
|