KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > CustomDataSource


1 /*
2  * ============================================================================
3  * GNU Lesser General Public License
4  * ============================================================================
5  *
6  * JasperReports - Free Java report-generating library.
7  * Copyright (C) 2001-2006 JasperSoft Corporation http://www.jaspersoft.com
8  *
9  * This library is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU Lesser General Public
11  * License as published by the Free Software Foundation; either
12  * version 2.1 of the License, or (at your option) any later version.
13  *
14  * This library is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17  * Lesser General Public License for more details.
18  *
19  * You should have received a copy of the GNU Lesser General Public
20  * License along with this library; if not, write to the Free Software
21  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
22  *
23  * JasperSoft Corporation
24  * 303 Second Street, Suite 450 North
25  * San Francisco, CA 94107
26  * http://www.jaspersoft.com
27  */

28
29 import net.sf.jasperreports.engine.JRDataSource;
30 import net.sf.jasperreports.engine.JRException;
31 import net.sf.jasperreports.engine.JRField;
32
33
34 /**
35  * @author Teodor Danciu (teodord@users.sourceforge.net)
36  * @version $Id: CustomDataSource.java 1229 2006-04-19 13:27:35 +0300 (Wed, 19 Apr 2006) teodord $
37  */

38 public class CustomDataSource implements JRDataSource
39 {
40
41
42     /**
43      *
44      */

45     private Object JavaDoc[][] data =
46         {
47             {"Berne", new Integer JavaDoc(22), "Bill Ott", "250 - 20th Ave."},
48             {"Berne", new Integer JavaDoc(9), "James Schneider", "277 Seventh Av."},
49             {"Boston", new Integer JavaDoc(32), "Michael Ott", "339 College Av."},
50             {"Boston", new Integer JavaDoc(23), "Julia Heiniger", "358 College Av."},
51             {"Chicago", new Integer JavaDoc(39), "Mary Karsen", "202 College Av."},
52             {"Chicago", new Integer JavaDoc(35), "George Karsen", "412 College Av."},
53             {"Chicago", new Integer JavaDoc(11), "Julia White", "412 Upland Pl."},
54             {"Dallas", new Integer JavaDoc(47), "Janet Fuller", "445 Upland Pl."},
55             {"Dallas", new Integer JavaDoc(43), "Susanne Smith", "2 Upland Pl."},
56             {"Dallas", new Integer JavaDoc(40), "Susanne Miller", "440 - 20th Ave."},
57             {"Dallas", new Integer JavaDoc(36), "John Steel", "276 Upland Pl."},
58             {"Dallas", new Integer JavaDoc(37), "Michael Clancy", "19 Seventh Av."},
59             {"Dallas", new Integer JavaDoc(19), "Susanne Heiniger", "86 - 20th Ave."},
60             {"Dallas", new Integer JavaDoc(10), "Anne Fuller", "135 Upland Pl."},
61             {"Dallas", new Integer JavaDoc(4), "Sylvia Ringer", "365 College Av."},
62             {"Dallas", new Integer JavaDoc(0), "Laura Steel", "429 Seventh Av."},
63             {"Lyon", new Integer JavaDoc(38), "Andrew Heiniger", "347 College Av."},
64             {"Lyon", new Integer JavaDoc(28), "Susanne White", "74 - 20th Ave."},
65             {"Lyon", new Integer JavaDoc(17), "Laura Ott", "443 Seventh Av."},
66             {"Lyon", new Integer JavaDoc(2), "Anne Miller", "20 Upland Pl."},
67             {"New York", new Integer JavaDoc(46), "Andrew May", "172 Seventh Av."},
68             {"New York", new Integer JavaDoc(44), "Sylvia Ott", "361 College Av."},
69             {"New York", new Integer JavaDoc(41), "Bill King", "546 College Av."},
70             {"Oslo", new Integer JavaDoc(45), "Janet May", "396 Seventh Av."},
71             {"Oslo", new Integer JavaDoc(42), "Robert Ott", "503 Seventh Av."},
72             {"Paris", new Integer JavaDoc(25), "Sylvia Steel", "269 College Av."},
73             {"Paris", new Integer JavaDoc(18), "Sylvia Fuller", "158 - 20th Ave."},
74             {"Paris", new Integer JavaDoc(5), "Laura Miller", "294 Seventh Av."},
75             {"San Francisco", new Integer JavaDoc(48), "Robert White", "549 Seventh Av."},
76             {"San Francisco", new Integer JavaDoc(7), "James Peterson", "231 Upland Pl."}
77         };
78
79     private int index = -1;
80     
81
82     /**
83      *
84      */

85     public CustomDataSource()
86     {
87     }
88
89
90     /**
91      *
92      */

93     public boolean next() throws JRException
94     {
95         index++;
96
97         return (index < data.length);
98     }
99
100
101     /**
102      *
103      */

104     public Object JavaDoc getFieldValue(JRField field) throws JRException
105     {
106         Object JavaDoc value = null;
107         
108         String JavaDoc fieldName = field.getName();
109         
110         if ("the_city".equals(fieldName))
111         {
112             value = data[index][0];
113         }
114         else if ("id".equals(fieldName))
115         {
116             value = data[index][1];
117         }
118         else if ("name".equals(fieldName))
119         {
120             value = data[index][2];
121         }
122         else if ("street".equals(fieldName))
123         {
124             value = data[index][3];
125         }
126         
127         return value;
128     }
129
130
131 }
132
Popular Tags