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
,PlSqlQueryExecuterFactory
,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:
JRQueryExecuter
-
-
Field Summary
Fields Modifier and Type Field Description static String
QUERY_EXECUTER_FACTORY_PREFIX
Prefix for query executer factory properties.
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description JRQueryExecuter
createQueryExecuter(JasperReportsContext jasperReportsContext, JRDataset dataset, Map<String,? extends JRValueParameter> parameters)
Creates a query executer.default JRQueryExecuter
createQueryExecuter(QueryExecutionContext context, JRDataset dataset, Map<String,? extends JRValueParameter> parameters)
Object[]
getBuiltinParameters()
Returns the built-in parameters associated with this query type.boolean
supportsQueryParameterType(String className)
Decides whether the query executers created by this factory support a query parameter type.
-
-
-
Field Detail
-
QUERY_EXECUTER_FACTORY_PREFIX
static final 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
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 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 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
boolean supportsQueryParameterType(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.- Parameters:
className
- the value class name of the parameter- Returns:
- whether the parameter value type is supported
-
-