Interface QueryExecuterFactory
- All Known Implementing Classes:
AbstractQueryExecuterFactory,AbstractXlsQueryExecuterFactory,ExcelQueryExecuterFactory,JaxenXPathQueryExecuterFactory,JRCsvQueryExecuterFactory,JRHibernateQueryExecuterFactory,JRHibernateQueryExecuterFactory,JRJdbcQueryExecuterFactory,JRJpaQueryExecuterFactory,JRJpaQueryExecuterFactory,JRMdxQueryExecuterFactory,JRMondrianQueryExecuterFactory,JRXlsxQueryExecuterFactory,JRXmlaQueryExecuterFactory,JRXPathQueryExecuterFactory,JsonQLQueryExecuterFactory,JsonQueryExecuterFactory,Olap4jMondrianQueryExecuterFactory,Olap4jQueryExecuterFactory,Olap4jXmlaQueryExecuterFactory,XalanXPathQueryExecuterFactory,XlsQueryExecuterFactory
public interface QueryExecuterFactory
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.
- Author:
- Lucian Chirita (lucianc@users.sourceforge.net)
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringPrefix for query executer factory properties. -
Method Summary
Modifier and TypeMethodDescriptioncreateQueryExecuter(JasperReportsContext jasperReportsContext, JRDataset dataset, Map<String, ? extends JRValueParameter> parameters) Creates a query executer.default JRQueryExecutercreateQueryExecuter(QueryExecutionContext context, JRDataset dataset, Map<String, ? extends JRValueParameter> parameters) Object[]Returns the built-in parameters associated with this query type.booleansupportsQueryParameterType(String className) Decides whether the query executers created by this factory support a query parameter type.
-
Field Details
-
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:
-
-
Method Details
-
getBuiltinParameters
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"}).- Returns:
- array of built-in parameter names and types associated with this query type
-
createQueryExecuter
JRQueryExecuter createQueryExecuter(JasperReportsContext jasperReportsContext, JRDataset dataset, Map<String, ? extends JRValueParameter> parameters) throws JRExceptionCreates a query executer. This method is called at fill time for reports/datasets having a query supported by this factory.- Parameters:
jasperReportsContext- the JasperReportsContextdataset- the dataset containing the query, fields, etcparameters- map of value parameters (instances ofJRValueParameter) indexed by name- Returns:
- a query executer
- Throws:
JRException
-
createQueryExecuter
default JRQueryExecuter createQueryExecuter(QueryExecutionContext context, JRDataset dataset, Map<String, ? extends JRValueParameter> parameters) throws JRException- Throws:
JRException
-
supportsQueryParameterType
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.- Parameters:
className- the value class name of the parameter- Returns:
- whether the parameter value type is supported
-