net.sf.jasperreports.engine.query
Interface QueryExecuterFactory

All Superinterfaces:
JRQueryExecuterFactory
All Known Implementing Classes:
AbstractQueryExecuterFactory, JaxenXPathQueryExecuterFactory, JRAbstractQueryExecuterFactory, JRCsvQueryExecuterFactory, JRHibernateQueryExecuterFactory, JRJdbcQueryExecuterFactory, JRJpaQueryExecuterFactory, JRMdxQueryExecuterFactory, JRMondrianQueryExecuterFactory, JRQueryExecuterUtils.WrappingQueryExecuterFactory, JRXlsQueryExecuterFactory, JRXlsxQueryExecuterFactory, JRXmlaQueryExecuterFactory, JRXPathQueryExecuterFactory, JsonQueryExecuterFactory, XalanXPathQueryExecuterFactory

public interface QueryExecuterFactory
extends JRQueryExecuterFactory

Factory classes used to create query executers.

For each query language, a query executer factory must be created and registered as a JR property.

Query executer factory instances must be thread-safe as they are cached and used as singletons.

Version:
$Id: QueryExecuterFactory.java 5180 2012-03-29 13:23:12Z teodord $
Author:
Lucian Chirita (lucianc@users.sourceforge.net)
See Also:
JRQueryExecuter

Field Summary
static java.lang.String QUERY_EXECUTER_FACTORY_PREFIX
          Prefix for query executer factory properties.
 
Method Summary
 JRQueryExecuter createQueryExecuter(JasperReportsContext jasperReportsContext, JRDataset dataset, java.util.Map<java.lang.String,? extends JRValueParameter> parameters)
          Creates a query executer.
 java.lang.Object[] getBuiltinParameters()
          Returns the built-in parameters associated with this query type.
 boolean supportsQueryParameterType(java.lang.String className)
          Decides whether the query executers created by this factory support a query parameter type.
 
Methods inherited from interface net.sf.jasperreports.engine.query.JRQueryExecuterFactory
createQueryExecuter
 

Field Detail

QUERY_EXECUTER_FACTORY_PREFIX

static final java.lang.String QUERY_EXECUTER_FACTORY_PREFIX
Prefix for query executer factory properties.

To obtain query executer factories, a property having the query language appended to this prefix is used to get the query executer factory name.

See Also:
Constant Field Values
Method Detail

getBuiltinParameters

java.lang.Object[] getBuiltinParameters()
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 JRQueryExecuterFactory
Returns:
array of built-in parameter names and types associated with this query type

createQueryExecuter

JRQueryExecuter createQueryExecuter(JasperReportsContext jasperReportsContext,
                                    JRDataset dataset,
                                    java.util.Map<java.lang.String,? extends JRValueParameter> parameters)
                                    throws JRException
Creates a query executer.

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

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

supportsQueryParameterType

boolean supportsQueryParameterType(java.lang.String className)
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 JRQueryExecuterFactory
Parameters:
className - the value class name of the parameter
Returns:
whether the parameter value type is supported


© 2001-2010 Jaspersoft Corporation www.jaspersoft.com