Class JRJdbcQueryExecuterFactory

java.lang.Object
net.sf.jasperreports.engine.query.AbstractQueryExecuterFactory
net.sf.jasperreports.engine.query.JRJdbcQueryExecuterFactory
All Implemented Interfaces:
QueryExecuterFactory, Designated

public class JRJdbcQueryExecuterFactory extends AbstractQueryExecuterFactory implements Designated
Query executer factory for SQL queries.

This factory creates JDBC query executers for SQL queries.

Author:
Lucian Chirita (lucianc@users.sourceforge.net)
See Also:
  • Field Details

    • QUERY_EXECUTER_NAME

      public static final String QUERY_EXECUTER_NAME
      See Also:
    • PROPERTY_JDBC_FETCH_SIZE

      public static final String PROPERTY_JDBC_FETCH_SIZE
      Property specifying the ResultSet fetch size.
      See Also:
    • PROPERTY_JDBC_RESULT_SET_TYPE

      public static final String PROPERTY_JDBC_RESULT_SET_TYPE
      Property specifying the ResultSet type.
      See Also:
    • PROPERTY_JDBC_CONCURRENCY

      public static final String PROPERTY_JDBC_CONCURRENCY
      Property specifying the ResultSet concurrency.
      See Also:
    • PROPERTY_JDBC_HOLDABILITY

      public static final String PROPERTY_JDBC_HOLDABILITY
      Property specifying the ResultSet holdability.
      See Also:
    • PROPERTY_JDBC_MAX_FIELD_SIZE

      public static final String PROPERTY_JDBC_MAX_FIELD_SIZE
      Property specifying the statement max field size.
      See Also:
    • PROPERTY_JDBC_QUERY_TIMEOUT

      public static final String PROPERTY_JDBC_QUERY_TIMEOUT
      Property specifying the statement query timeout value (in seconds).
      See Also:
    • PROPERTY_CACHED_ROWSET

      public static final String PROPERTY_CACHED_ROWSET
      Flag property specifying if data will be stored in a cached rowset.
      See Also:
    • PROPERTY_TIME_ZONE

      public static final String PROPERTY_TIME_ZONE
      Property specifying the default time zone to be used for sending and retrieving date/time values to and from the database.

      The property can be set globally, at dataset level, at parameter and field levels, and as a report/dataset parameter. Note that sending a value as parameter will override all properties, and the time zone will be used for all date/time parameters and fields in the report.

      The property value can be a time zone ID or REPORT_TIME_ZONE. In the latter case the report time zone (as in JRParameter.REPORT_TIME_ZONE) will be used.

      See Also:
    • PROPERTY_PARAMETERS_TIME_ZONE

      public static final String PROPERTY_PARAMETERS_TIME_ZONE
      See Also:
    • PROPERTY_FIELDS_TIME_ZONE

      public static final String PROPERTY_FIELDS_TIME_ZONE
      See Also:
    • QUERY_LANGUAGE_SQL

      public static final String QUERY_LANGUAGE_SQL
      SQL query language.
      See Also:
  • Constructor Details

    • JRJdbcQueryExecuterFactory

      public JRJdbcQueryExecuterFactory()
  • Method Details

    • createQueryExecuter

      public JRQueryExecuter createQueryExecuter(JasperReportsContext jasperReportsContext, JRDataset dataset, Map<String,? extends JRValueParameter> parameters) throws JRException
      Description copied from interface: QueryExecuterFactory
      Creates a query executer.

      This method is called at fill time for reports/datasets having a query supported by this factory.

      Specified by:
      createQueryExecuter in interface QueryExecuterFactory
      Parameters:
      jasperReportsContext - the JasperReportsContext
      dataset - the dataset containing the query, fields, etc
      parameters - map of value parameters (instances of JRValueParameter) indexed by name
      Returns:
      a query executer
      Throws:
      JRException
    • getBuiltinParameters

      public Object[] getBuiltinParameters()
      Description copied from interface: QueryExecuterFactory
      Returns the built-in parameters associated with this query type.

      These parameters will be created as system-defined parameters for each report/dataset having a query of this type.

      The returned array should contain consecutive pairs of parameter names and parameter classes (e.g. {"Param1", String.class, "Param2", "List.class"}).

      Specified by:
      getBuiltinParameters in interface QueryExecuterFactory
      Returns:
      array of built-in parameter names and types associated with this query type
    • supportsQueryParameterType

      public boolean supportsQueryParameterType(String className)
      Description copied from interface: QueryExecuterFactory
      Decides whether the query executers created by this factory support a query parameter type.

      This check is performed for all $P{..} parameters in the query.

      Specified by:
      supportsQueryParameterType in interface QueryExecuterFactory
      Parameters:
      className - the value class name of the parameter
      Returns:
      whether the parameter value type is supported
    • getDesignation

      public String getDesignation()
      Specified by:
      getDesignation in interface Designated