KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > it > businesslogic > ireport > connection > JRCSVDataSource


1 /*
2  * Copyright (C) 2005 - 2006 JasperSoft Corporation. All rights reserved.
3  * http://www.jaspersoft.com.
4  *
5  * Unless you have purchased a commercial license agreement from JasperSoft,
6  * the following license terms apply:
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * 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  * JRCSVDataSource.java
28  *
29  * Created on 4 luglio 2003, 12.10
30  *
31  */

32
33 package it.businesslogic.ireport.connection;
34
35 import java.io.*;
36 import java.util.*;
37 /**
38  *
39  * @author Administrator
40  */

41 public class JRCSVDataSource implements net.sf.jasperreports.engine.JRDataSource {
42     
43     String JavaDoc row = "";
44     LineNumberReader lineNumberReader;
45     
46     /** Creates a new instance of JRCVSDataSource */
47     public JRCSVDataSource(String JavaDoc cvsFile) {
48         try {
49             lineNumberReader = new LineNumberReader( new FileReader(cvsFile));
50         } catch (Exception JavaDoc ex) { ex.printStackTrace();}
51     }
52     
53     public Object JavaDoc getFieldValue(net.sf.jasperreports.engine.JRField jRField) throws net.sf.jasperreports.engine.JRException {
54         String JavaDoc field = jRField.getName();
55         int fieldPosition = Integer.parseInt(field.substring(7)); // Strip COLUMN_
56
StringTokenizer st = new StringTokenizer(row,";");
57         while (st.hasMoreTokens())
58         {
59             fieldPosition--; // The column is not 0 indexed.
60
String JavaDoc token = st.nextToken();
61             if (fieldPosition == 0) return token;
62         }
63         return null; // Column not found...
64
}
65     
66     public boolean next() throws net.sf.jasperreports.engine.JRException {
67         try {
68             row = lineNumberReader.readLine();
69             if (row.length()>0) return true;
70         } catch (Exception JavaDoc ex) { }
71         return false;
72     }
73     
74 }
75
Popular Tags