KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > sf > jasperreports > engine > query > JRJdbcQueryExecuterFactory


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 package net.sf.jasperreports.engine.query;
29
30 import java.util.Arrays JavaDoc;
31 import java.util.Map JavaDoc;
32
33 import net.sf.jasperreports.engine.JRDataset;
34 import net.sf.jasperreports.engine.JRException;
35 import net.sf.jasperreports.engine.util.JRProperties;
36
37 /**
38  * Query executer factory for SQL queries.
39  * <p/>
40  * This factory creates JDBC query executers for SQL queries.
41  *
42  * @author Lucian Chirita (lucianc@users.sourceforge.net)
43  * @version $Id: JRJdbcQueryExecuterFactory.java 1344 2006-07-12 12:27:58 +0300 (Wed, 12 Jul 2006) teodord $
44  * @see net.sf.jasperreports.engine.query.JRJdbcQueryExecuter
45  */

46 public class JRJdbcQueryExecuterFactory implements JRQueryExecuterFactory
47 {
48     /**
49      * Property specifying the ResultSet fetch size.
50      */

51     public static final String JavaDoc PROPERTY_JDBC_FETCH_SIZE = JRProperties.PROPERTY_PREFIX + "jdbc.fetch.size";
52
53     /**
54      * SQL query language.
55      */

56     public static final String JavaDoc QUERY_LANGUAGE_SQL = "sql";
57     
58     
59     private static final String JavaDoc[] queryParameterClassNames;
60     
61     static
62     {
63         queryParameterClassNames = new String JavaDoc[] {
64                 java.lang.Object JavaDoc.class.getName(),
65                 java.lang.Boolean JavaDoc.class.getName(),
66                 java.lang.Byte JavaDoc.class.getName(),
67                 java.lang.Double JavaDoc.class.getName(),
68                 java.lang.Float JavaDoc.class.getName(),
69                 java.lang.Integer JavaDoc.class.getName(),
70                 java.lang.Long JavaDoc.class.getName(),
71                 java.lang.Short JavaDoc.class.getName(),
72                 java.math.BigDecimal JavaDoc.class.getName(),
73                 java.lang.String JavaDoc.class.getName(),
74                 java.util.Date JavaDoc.class.getName(),
75                 java.sql.Timestamp JavaDoc.class.getName(),
76                 java.sql.Time JavaDoc.class.getName() };
77
78         Arrays.sort(queryParameterClassNames);
79     }
80     
81     public JRQueryExecuter createQueryExecuter(JRDataset dataset, Map JavaDoc parameters) throws JRException
82     {
83         return new JRJdbcQueryExecuter(dataset, parameters);
84     }
85
86     public Object JavaDoc[] getBuiltinParameters()
87     {
88         return null;
89     }
90
91     public boolean supportsQueryParameterType(String JavaDoc className)
92     {
93         return Arrays.binarySearch(queryParameterClassNames, className) >= 0;
94     }
95 }
96
Popular Tags