Interface QueryExecuterFactory

    • 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