net.sf.jasperreports.engine.query
Class JRJdbcQueryExecuter

java.lang.Object
  extended by net.sf.jasperreports.engine.query.JRAbstractQueryExecuter
      extended by net.sf.jasperreports.engine.query.JRJdbcQueryExecuter
All Implemented Interfaces:
JRQueryExecuter

public class JRJdbcQueryExecuter
extends JRAbstractQueryExecuter

JDBC query executer for SQL queries.

This query executer implementation offers built-in support for SQL queries.

Version:
$Id: JRJdbcQueryExecuter.java 5297 2012-04-25 09:18:10Z teodord $
Author:
Teodor Danciu (teodord@users.sourceforge.net)

Nested Class Summary
 
Nested classes/interfaces inherited from class net.sf.jasperreports.engine.query.JRAbstractQueryExecuter
JRAbstractQueryExecuter.QueryParameter
 
Field Summary
protected static java.lang.String CACHED_ROWSET_CLASS
           
protected static java.lang.String CLAUSE_ID_BETWEEN
           
protected static java.lang.String CLAUSE_ID_BETWEEN_CLOSED
           
protected static java.lang.String CLAUSE_ID_BETWEEN_LEFT_CLOSED
           
protected static java.lang.String CLAUSE_ID_BETWEEN_RIGHT_CLOSED
           
protected static java.lang.String CLAUSE_ID_EQUAL
           
protected static java.lang.String CLAUSE_ID_GREATER
           
protected static java.lang.String CLAUSE_ID_GREATER_OR_EQUAL
           
protected static java.lang.String CLAUSE_ID_IN
           
protected static java.lang.String CLAUSE_ID_LESS
           
protected static java.lang.String CLAUSE_ID_LESS_OR_EQUAL
           
protected static java.lang.String CLAUSE_ID_NOTEQUAL
           
protected static java.lang.String CLAUSE_ID_NOTIN
           
protected static java.lang.String CLOSE_CURSORS_AT_COMMIT
           
protected static java.lang.String CONCUR_READ_ONLY
           
protected static java.lang.String CONCUR_UPDATABLE
           
protected  java.sql.Connection connection
           
protected static java.lang.String HOLD_CURSORS_OVER_COMMIT
           
protected  java.sql.ResultSet resultSet
           
protected  java.sql.PreparedStatement statement
          The statement used to fire the query.
protected static java.lang.String TYPE_FORWARD_ONLY
           
protected static java.lang.String TYPE_SCROLL_INSENSITIVE
           
protected static java.lang.String TYPE_SCROLL_SENSITIVE
           
 
Fields inherited from class net.sf.jasperreports.engine.query.JRAbstractQueryExecuter
CLAUSE_POSITION_ID, clauseFunctions, dataset
 
Constructor Summary
JRJdbcQueryExecuter(JasperReportsContext jasperReportsContext, JRDataset dataset, java.util.Map<java.lang.String,? extends JRValueParameter> parameters)
           
JRJdbcQueryExecuter(JRDataset dataset, java.util.Map<java.lang.String,? extends JRValueParameter> parameters)
          Deprecated. Replaced by JRJdbcQueryExecuter(JasperReportsContext, JRDataset, Map).
 
Method Summary
 boolean cancelQuery()
          Cancels the query if it's currently running.
 void close()
          Closes resources kept open during the data source iteration.
 JRDataSource createDatasource()
          Executes the query and creates a JRDataSource out of the result.
protected  void createStatement()
           
protected static int getConcurrency(java.lang.String concurrency)
           
protected static int getHoldability(java.lang.String holdability, java.sql.Connection connection)
           
protected  java.util.Calendar getParameterCalendar(JRPropertiesHolder properties)
           
protected  java.lang.String getParameterReplacement(java.lang.String parameterName)
          Returns the replacement text for a query parameter.
 java.sql.ResultSet getResultSet()
           
protected static int getResultSetType(java.lang.String type)
           
protected  void registerFunctions()
          Registers built-in clause functions.
protected  void setDate(int parameterIndex, java.lang.Object parameterValue, JRPropertiesHolder properties)
           
protected  void setStatementMultiParameter(int parameterIndex, java.lang.String parameterName, int valueIndex, java.lang.Object value, JRPropertiesHolder properties)
           
protected  int setStatementMultiParameters(int parameterIndex, java.lang.String parameterName, boolean ignoreNulls)
           
protected  void setStatementParameter(int parameterIndex, java.lang.Class<?> parameterType, java.lang.Object parameterValue, JRPropertiesHolder properties)
           
protected  void setStatementParameter(int parameterIndex, java.lang.String parameterName)
           
protected  void setTime(int parameterIndex, java.lang.Object parameterValue, JRPropertiesHolder properties)
           
protected  void setTimestamp(int parameterIndex, java.lang.Object parameterValue, JRPropertiesHolder properties)
           
protected  void setTimeZone()
           
 
Methods inherited from class net.sf.jasperreports.engine.query.JRAbstractQueryExecuter
addQueryMultiParameters, addQueryMultiParameters, addQueryParameter, appendClauseChunk, appendParameterChunk, appendParameterClauseChunk, appendQueryChunk, appendTextChunk, applyClause, checkParameter, getBooleanParameter, getBooleanParameterOrProperty, getCollectedParameterNames, getCollectedParameters, getJasperReportsContext, getParameter, getParameterValue, getParameterValue, getPropertiesUtil, getQueryString, getStringParameter, getStringParameterOrProperty, getValueParameter, getValueParameter, parameterHasValue, parseQuery, registerClauseFunction, resolveFunction, unregisterClauseFunction
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CLAUSE_ID_IN

protected static final java.lang.String CLAUSE_ID_IN
See Also:
Constant Field Values

CLAUSE_ID_NOTIN

protected static final java.lang.String CLAUSE_ID_NOTIN
See Also:
Constant Field Values

CLAUSE_ID_EQUAL

protected static final java.lang.String CLAUSE_ID_EQUAL
See Also:
Constant Field Values

CLAUSE_ID_NOTEQUAL

protected static final java.lang.String CLAUSE_ID_NOTEQUAL
See Also:
Constant Field Values

CLAUSE_ID_LESS

protected static final java.lang.String CLAUSE_ID_LESS
See Also:
Constant Field Values

CLAUSE_ID_GREATER

protected static final java.lang.String CLAUSE_ID_GREATER
See Also:
Constant Field Values

CLAUSE_ID_LESS_OR_EQUAL

protected static final java.lang.String CLAUSE_ID_LESS_OR_EQUAL
See Also:
Constant Field Values

CLAUSE_ID_GREATER_OR_EQUAL

protected static final java.lang.String CLAUSE_ID_GREATER_OR_EQUAL
See Also:
Constant Field Values

CLAUSE_ID_BETWEEN

protected static final java.lang.String CLAUSE_ID_BETWEEN
See Also:
Constant Field Values

CLAUSE_ID_BETWEEN_CLOSED

protected static final java.lang.String CLAUSE_ID_BETWEEN_CLOSED
See Also:
Constant Field Values

CLAUSE_ID_BETWEEN_LEFT_CLOSED

protected static final java.lang.String CLAUSE_ID_BETWEEN_LEFT_CLOSED
See Also:
Constant Field Values

CLAUSE_ID_BETWEEN_RIGHT_CLOSED

protected static final java.lang.String CLAUSE_ID_BETWEEN_RIGHT_CLOSED
See Also:
Constant Field Values

TYPE_FORWARD_ONLY

protected static final java.lang.String TYPE_FORWARD_ONLY
See Also:
Constant Field Values

TYPE_SCROLL_INSENSITIVE

protected static final java.lang.String TYPE_SCROLL_INSENSITIVE
See Also:
Constant Field Values

TYPE_SCROLL_SENSITIVE

protected static final java.lang.String TYPE_SCROLL_SENSITIVE
See Also:
Constant Field Values

CONCUR_READ_ONLY

protected static final java.lang.String CONCUR_READ_ONLY
See Also:
Constant Field Values

CONCUR_UPDATABLE

protected static final java.lang.String CONCUR_UPDATABLE
See Also:
Constant Field Values

HOLD_CURSORS_OVER_COMMIT

protected static final java.lang.String HOLD_CURSORS_OVER_COMMIT
See Also:
Constant Field Values

CLOSE_CURSORS_AT_COMMIT

protected static final java.lang.String CLOSE_CURSORS_AT_COMMIT
See Also:
Constant Field Values

CACHED_ROWSET_CLASS

protected static final java.lang.String CACHED_ROWSET_CLASS
See Also:
Constant Field Values

connection

protected java.sql.Connection connection

statement

protected java.sql.PreparedStatement statement
The statement used to fire the query.


resultSet

protected java.sql.ResultSet resultSet
Constructor Detail

JRJdbcQueryExecuter

public JRJdbcQueryExecuter(JasperReportsContext jasperReportsContext,
                           JRDataset dataset,
                           java.util.Map<java.lang.String,? extends JRValueParameter> parameters)

JRJdbcQueryExecuter

public JRJdbcQueryExecuter(JRDataset dataset,
                           java.util.Map<java.lang.String,? extends JRValueParameter> parameters)
Deprecated. Replaced by JRJdbcQueryExecuter(JasperReportsContext, JRDataset, Map).

Method Detail

registerFunctions

protected void registerFunctions()
Registers built-in clause functions.

See Also:
registerFunctions(), JRAbstractQueryExecuter.appendClauseChunk(StringBuffer, String[])

setTimeZone

protected void setTimeZone()

getParameterReplacement

protected java.lang.String getParameterReplacement(java.lang.String parameterName)
Description copied from class: JRAbstractQueryExecuter
Returns the replacement text for a query parameter.

Specified by:
getParameterReplacement in class JRAbstractQueryExecuter
Parameters:
parameterName - the parameter name
Returns:
the replacement text
See Also:
JRQueryChunk.TYPE_PARAMETER

createDatasource

public JRDataSource createDatasource()
                              throws JRException
Description copied from interface: JRQueryExecuter
Executes the query and creates a JRDataSource out of the result.

Returns:
a JRDataSource wrapping the query execution result.
Throws:
JRException

createStatement

protected void createStatement()
                        throws JRException
Throws:
JRException

getResultSet

public java.sql.ResultSet getResultSet()

setStatementParameter

protected void setStatementParameter(int parameterIndex,
                                     java.lang.String parameterName)
                              throws java.sql.SQLException
Throws:
java.sql.SQLException

setStatementMultiParameters

protected int setStatementMultiParameters(int parameterIndex,
                                          java.lang.String parameterName,
                                          boolean ignoreNulls)
                                   throws java.sql.SQLException
Throws:
java.sql.SQLException

setStatementMultiParameter

protected void setStatementMultiParameter(int parameterIndex,
                                          java.lang.String parameterName,
                                          int valueIndex,
                                          java.lang.Object value,
                                          JRPropertiesHolder properties)
                                   throws java.sql.SQLException
Throws:
java.sql.SQLException

setStatementParameter

protected void setStatementParameter(int parameterIndex,
                                     java.lang.Class<?> parameterType,
                                     java.lang.Object parameterValue,
                                     JRPropertiesHolder properties)
                              throws java.sql.SQLException
Throws:
java.sql.SQLException

setTimestamp

protected void setTimestamp(int parameterIndex,
                            java.lang.Object parameterValue,
                            JRPropertiesHolder properties)
                     throws java.sql.SQLException
Throws:
java.sql.SQLException

setTime

protected void setTime(int parameterIndex,
                       java.lang.Object parameterValue,
                       JRPropertiesHolder properties)
                throws java.sql.SQLException
Throws:
java.sql.SQLException

setDate

protected void setDate(int parameterIndex,
                       java.lang.Object parameterValue,
                       JRPropertiesHolder properties)
                throws java.sql.SQLException
Throws:
java.sql.SQLException

getParameterCalendar

protected java.util.Calendar getParameterCalendar(JRPropertiesHolder properties)

close

public void close()
Description copied from interface: JRQueryExecuter
Closes resources kept open during the data source iteration.

This method is called after the report is filled or the dataset is iterated. If a resource is not needed after the data source has been created, it should be released at the end of createDatasource.


cancelQuery

public boolean cancelQuery()
                    throws JRException
Description copied from interface: JRQueryExecuter
Cancels the query if it's currently running.

This method will be called from a different thread if the client decides to cancel the filling process.

Returns:
true if and only if the query was running and it has been canceled
Throws:
JRException

getResultSetType

protected static int getResultSetType(java.lang.String type)

getConcurrency

protected static int getConcurrency(java.lang.String concurrency)

getHoldability

protected static int getHoldability(java.lang.String holdability,
                                    java.sql.Connection connection)
                             throws java.sql.SQLException
Throws:
java.sql.SQLException


© 2001-2010 Jaspersoft Corporation www.jaspersoft.com