Interface QueryExecuterFactory
-
- All Superinterfaces:
JRQueryExecuterFactory
- All Known Implementing Classes:
AbstractQueryExecuterFactory
,AbstractXlsQueryExecuterFactory
,ExcelQueryExecuterFactory
,JaxenXPathQueryExecuterFactory
,JRAbstractQueryExecuterFactory
,JRCsvQueryExecuterFactory
,JRHibernateQueryExecuterFactory
,JRJdbcQueryExecuterFactory
,JRJpaQueryExecuterFactory
,JRMdxQueryExecuterFactory
,JRMondrianQueryExecuterFactory
,JRQueryExecuterUtils.WrappingQueryExecuterFactory
,JRXlsxQueryExecuterFactory
,JRXmlaQueryExecuterFactory
,JRXPathQueryExecuterFactory
,JsonQLQueryExecuterFactory
,JsonQueryExecuterFactory
,Olap4jMondrianQueryExecuterFactory
,Olap4jQueryExecuterFactory
,Olap4jXmlaQueryExecuterFactory
,PlSqlQueryExecuterFactory
,XlsQueryExecuterFactory
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.- Author:
- Lucian Chirita (lucianc@users.sourceforge.net)
- See Also:
JRQueryExecuter
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.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, java.util.Map<java.lang.String,? extends JRValueParameter> parameters)
Creates a query executer.default JRQueryExecuter
createQueryExecuter(QueryExecutionContext context, JRDataset dataset, java.util.Map<java.lang.String,? extends JRValueParameter> parameters)
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 interfaceJRQueryExecuterFactory
- 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 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, java.util.Map<java.lang.String,? extends JRValueParameter> parameters) throws JRException
- 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 interfaceJRQueryExecuterFactory
- Parameters:
className
- the value class name of the parameter- Returns:
- whether the parameter value type is supported
-
-