net.sf.jasperreports.engine.query

## Class JRXPathQueryExecuter

- java.lang.Object
- - net.sf.jasperreports.engine.query.JRAbstractQueryExecuter
  - - net.sf.jasperreports.engine.query.JRXPathQueryExecuter

- All Implemented Interfaces:
    JRQueryExecuter

      public class JRXPathQueryExecuter
      extends JRAbstractQueryExecuter

  XPath query executer implementation.

  The XPath query of the report is executed against the document specified by the `PARAMETER_XML_DATA_DOCUMENT` parameter.

  All the parameters in the XPath query are replaced by calling `String.valueOf(Object)` on the parameter value.
  Version:
    $Id: JRXPathQueryExecuter.java 5878 2013-01-07 20:23:13Z teodord $
  Author:
    Lucian Chirita (lucianc@users.sourceforge.net)

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class net.sf.jasperreports.engine.query.JRAbstractQueryExecuter

      `JRAbstractQueryExecuter.QueryParameter, JRAbstractQueryExecuter.QueryParameterEntry, JRAbstractQueryExecuter.QueryParameterVisitor, JRAbstractQueryExecuter.ValuedQueryParameter, JRAbstractQueryExecuter.VisitExceptionWrapper`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected static java.lang.String` | `CANONICAL_LANGUAGE`

    - ### Fields inherited from class net.sf.jasperreports.engine.query.JRAbstractQueryExecuter

      `CLAUSE_POSITION_ID, clauseFunctions, dataset`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `JRXPathQueryExecuter(JasperReportsContext jasperReportsContext, JRDataset dataset, java.util.Map<java.lang.String,? extends JRValueParameter> parametersMap)`
    `JRXPathQueryExecuter(JRDataset dataset, java.util.Map<java.lang.String,? extends JRValueParameter> parametersMap)` Deprecated. Replaced by `JRXPathQueryExecuter(JasperReportsContext, JRDataset, Map)`.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `cancelQuery()` Cancels the query if it's currently running.
    `void` | `close()` Closes resources kept open during the data source iteration.
    `JRDataSource` | `createDatasource()` Executes the query and creates a `JRDataSource` out of the result.
    `protected java.lang.String` | `getCanonicalQueryLanguage()` Returns a canonical query language for this query executer implementation.
    `protected java.lang.String` | `getParameterReplacement(java.lang.String parameterName)` Returns the replacement text for a query parameter.

    - ### Methods inherited from class net.sf.jasperreports.engine.query.JRAbstractQueryExecuter

      `addQueryMultiParameters, addQueryMultiParameters, addQueryParameter, addQueryParameter, appendClauseChunk, appendParameterChunk, appendParameterClauseChunk, appendQueryChunk, appendTextChunk, applyClause, checkParameter, findExtensionQueryFunction, getBooleanParameter, getBooleanParameter, getBooleanParameterOrProperty, getBooleanParameterOrProperty, getCollectedParameterNames, getCollectedParameters, getJasperReportsContext, getParameter, getParameterValue, getParameterValue, getPropertiesUtil, getQueryString, getStringParameter, getStringParameterOrProperty, getValueParameter, getValueParameter, parameterHasValue, parseQuery, registerClauseFunction, resolveFunction, unregisterClauseFunction, visitQueryParameters`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### CANONICAL_LANGUAGE

          protected static final java.lang.String CANONICAL_LANGUAGE

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### JRXPathQueryExecuter

          public JRXPathQueryExecuter(JasperReportsContext jasperReportsContext,
                              JRDataset dataset,
                              java.util.Map<java.lang.String,? extends JRValueParameter> parametersMap)

    - #### JRXPathQueryExecuter

          public JRXPathQueryExecuter(JRDataset dataset,
                              java.util.Map<java.lang.String,? extends JRValueParameter> parametersMap)

      Deprecated. Replaced by `JRXPathQueryExecuter(JasperReportsContext, JRDataset, Map)`.

  - ### Method Detail

    - #### getCanonicalQueryLanguage

          protected java.lang.String getCanonicalQueryLanguage()

      Description copied from class: `JRAbstractQueryExecuter`
      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.

      Overrides:
        `getCanonicalQueryLanguage` in class `JRAbstractQueryExecuter`
      Returns:
        a canonical query language

    - #### getParameterReplacement

          protected java.lang.String getParameterReplacement(java.lang.String parameterName)

      Description copied from class: `JRAbstractQueryExecuter`
      Returns the replacement text for a query parameter.
      Specified by:
        `getParameterReplacement` in class `JRAbstractQueryExecuter`
      Parameters:
        `parameterName` - the parameter name
      Returns:
        the replacement text
      See Also:
        `JRQueryChunk.TYPE_PARAMETER`

    - #### createDatasource

          public JRDataSource createDatasource()
                                        throws JRException

      Description copied from interface: `JRQueryExecuter`
      Executes the query and creates a `JRDataSource` out of the result.
      Returns:
        a `JRDataSource` wrapping the query execution result.
      Throws:
        `JRException`

    - #### close

          public void close()

      Description copied from interface: `JRQueryExecuter`
      Closes resources kept open during the data source iteration.

      This method is called after the report is filled or the dataset is iterated. If a resource is not needed after the data source has been created, it should be released at the end of `createDatasource`.

    - #### cancelQuery

          public boolean cancelQuery()
                              throws JRException

      Description copied from interface: `JRQueryExecuter`
      Cancels the query if it's currently running.

      This method will be called from a different thread if the client decides to cancel the filling process.
      Returns:
        `true` if and only if the query was running and it has been canceled
      Throws:
        `JRException`

© 2001-2010 Jaspersoft Corporation www.jaspersoft.com