Class JRAbstractQueryExecuter

    • Field Detail

      • EXCEPTION_MESSAGE_KEY_NUMERIC_TYPE_REQUIRED

        public static final String EXCEPTION_MESSAGE_KEY_NUMERIC_TYPE_REQUIRED
        See Also:
        Constant Field Values
      • EXCEPTION_MESSAGE_KEY_PARAMETER_NOT_FOUND

        public static final String EXCEPTION_MESSAGE_KEY_PARAMETER_NOT_FOUND
        See Also:
        Constant Field Values
      • EXCEPTION_MESSAGE_KEY_QUERY_CLAUSE_CIRCULARLY_NESTED_PARAMETER

        public static final String EXCEPTION_MESSAGE_KEY_QUERY_CLAUSE_CIRCULARLY_NESTED_PARAMETER
        See Also:
        Constant Field Values
      • EXCEPTION_MESSAGE_KEY_QUERY_CLAUSE_ID_FIRST_TOKEN_MISSING

        public static final String EXCEPTION_MESSAGE_KEY_QUERY_CLAUSE_ID_FIRST_TOKEN_MISSING
        See Also:
        Constant Field Values
      • EXCEPTION_MESSAGE_KEY_QUERY_CLAUSE_NOT_FOUND

        public static final String EXCEPTION_MESSAGE_KEY_QUERY_CLAUSE_NOT_FOUND
        See Also:
        Constant Field Values
      • EXCEPTION_MESSAGE_KEY_UNSUPPORTED_PARAMETER_TYPE

        public static final String EXCEPTION_MESSAGE_KEY_UNSUPPORTED_PARAMETER_TYPE
        See Also:
        Constant Field Values
    • Method Detail

      • registerClauseFunction

        protected void registerClauseFunction​(String id,
                                              JRClauseFunction function)
        Registers a clause function.
        Parameters:
        id - the function ID
        function - the function
      • unregisterClauseFunction

        protected void unregisterClauseFunction​(String id)
        Unregisters a clause function.
        Parameters:
        id - the function ID
      • resolveFunction

        protected JRClauseFunction resolveFunction​(String id)
        Resolves a clause function ID to a function instance.
        Parameters:
        id - the function ID
        Returns:
        the clause function registered for the ID
        Throws:
        JRRuntimeException - if no function for the ID is found
      • getCanonicalQueryLanguage

        protected String getCanonicalQueryLanguage()
        Returns a canonical query language for this query executer implementation.

        The canonical language is used to retrieve extensions for the query executer.

        The default implementation returns the runtime query language used in the dataset, but query executer implementations should override this method and return a fixed language.

        Returns:
        a canonical query language
      • parseQuery

        protected void parseQuery()
        Parses the query and replaces the parameter clauses by the parameter values and the parameters by the return value of getParameterReplacement.
      • appendTextChunk

        protected void appendTextChunk​(StringBuffer sbuffer,
                                       String text)
      • appendParameterChunk

        protected void appendParameterChunk​(StringBuffer sbuffer,
                                            String chunkText)
      • addQueryParameter

        protected void addQueryParameter​(String parameterName)
        Records a query parameter.
        Parameters:
        parameterName - the parameter name
        See Also:
        getCollectedParameters()
      • addQueryParameter

        protected void addQueryParameter​(Class<?> type,
                                         Object value)
      • appendParameterClauseChunk

        protected void appendParameterClauseChunk​(StringBuffer sbuffer,
                                                  String chunkText)
      • getQueryString

        protected String getQueryString()
        Returns the parsed query string with the parameter clauses replaced by the parameter values and the parameters replaced by getParameterReplacement.
        Returns:
        the parsed query string
      • getCollectedParameterNames

        protected List<String> getCollectedParameterNames()
        Returns the list of parameter names in the order in which they appear in the query.
        Returns:
        the list of parameter names
      • getParameterValue

        protected Object getParameterValue​(String parameterName,
                                           boolean ignoreMissing)
        Returns the value of a fill parameter.
        Parameters:
        parameterName - the parameter name
        ignoreMissing - if true, the method will return null for non existing parameters; otherwise, an exception will be thrown if the parameter does not exist
        Returns:
        the parameter value
      • getParameterValue

        protected Object getParameterValue​(String parameterName)
        Returns the value of a fill parameter.
        Parameters:
        parameterName - the parameter name
        Returns:
        the parameter value
      • parameterHasValue

        protected boolean parameterHasValue​(String parameter)
      • getStringParameter

        protected String getStringParameter​(String parameter,
                                            String property)
      • getStringParameterOrProperty

        protected String getStringParameterOrProperty​(String name)
      • getBooleanParameter

        protected boolean getBooleanParameter​(String parameter,
                                              String property,
                                              boolean defaultValue)
      • getBooleanParameterOrProperty

        protected boolean getBooleanParameterOrProperty​(String name,
                                                        boolean defaultValue)
      • getBooleanParameter

        protected Boolean getBooleanParameter​(String parameter,
                                              String property)
      • getBooleanParameterOrProperty

        protected Boolean getBooleanParameterOrProperty​(String name)
      • getIntegerParameter

        protected int getIntegerParameter​(String parameter,
                                          String property,
                                          int defaultValue)
      • getIntegerParameterOrProperty

        protected int getIntegerParameterOrProperty​(String name,
                                                    int defaultValue)
      • getIntegerParameter

        protected Integer getIntegerParameter​(String parameter,
                                              String property)
      • getIntegerParameterOrProperty

        protected Integer getIntegerParameterOrProperty​(String name)
      • checkParameter

        protected void checkParameter​(String parameterName)
      • getValueParameter

        protected JRValueParameter getValueParameter​(String parameterName,
                                                     boolean ignoreMissing)
        Return a value parameter from the parameters map.
        Parameters:
        parameterName - the parameter name
        ignoreMissing - if true, the method will return null for non existing parameters; otherwise, an exception will be thrown if the parameter does not exist
        Returns:
        the parameter
      • getValueParameter

        protected JRValueParameter getValueParameter​(String parameterName)
        Return a value parameter from the parameters map.
        Parameters:
        parameterName - the parameter name
        Returns:
        the parameter
      • getParameterReplacement

        protected abstract String getParameterReplacement​(String parameterName)
        Returns the replacement text for a query parameter.
        Parameters:
        parameterName - the parameter name
        Returns:
        the replacement text
        See Also:
        JRQueryChunk.TYPE_PARAMETER