org.modeshape.jcr.api.query

## Interface QueryResult

- All Superinterfaces:
    AutoCloseable, QueryResult

      public interface QueryResult
      extends QueryResult, AutoCloseable

  Replicates some of the methods introduced in JCR 2.0, but also provides an extension that allows accessing the JCR `PropertyType` for each of the columns.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `close()` Close and release all resources associated with these results.
    `String[]` | `getColumnTypes()` Returns an array of the `PropertyType` name for each of the columns in this result.
    `String` | `getPlan()` Get a description of ModeShape's plan for executing this query.
    `Collection<String>` | `getWarnings()` Get any warnings that might describe potential problems with this query.
    `boolean` | `isEmpty()` Return whether the number of rows in the results is 0.

    - ### Methods inherited from interface javax.jcr.query.QueryResult

      `getColumnNames, getNodes, getRows, getSelectorNames`

- - ### Method Detail

    - #### isEmpty

          boolean isEmpty()

      Return whether the number of rows in the results is 0. This is often significantly more efficient and more accurate than `getting the size` of the `rows` or `nodes`.
      Returns:
        true if this result set is empty, or false if there is at least one row.

    - #### getColumnTypes

          String[] getColumnTypes()

      Returns an array of the `PropertyType` name for each of the columns in this result.
      Returns:
        the array of property type names; never null, never has null elements, and the size always matches `QueryResult.getColumnNames()`.

    - #### getPlan

          String getPlan()

      Get a description of ModeShape's plan for executing this query. The plan uses relational algebra and operations, and may be used to get insight into what operations are performed when executing the query.

      Note that as of ModeShape 3.1, the plan is always captured and available, though this may change in future versions. This means that clients should be written to never expect a non-null String response from this method.

      Returns:
        the string representation of the query plan as executed by the query; may be null if the query plan was not captured for the query (though currently it is always captured)

    - #### getWarnings

          Collection<String> getWarnings()

      Get any warnings that might describe potential problems with this query.

      Note that a query that has warnings is not necessarily incorrect or potentially wrong - because of residual properties, ModeShape may produce warnings for queries that are perfectly valid.

      However, if a query does not give the expected results (during development), check the warnings to see if ModeShape can suggest specific things to look at. For example, a warnings might suggest that a column might be resolved on a different selector, or that a column might have been misspelled.

      Returns:
        the collection of warnings; never null be empty when there are no warnings

    - #### close

          void close()

      Close and release all resources associated with these results. This method is optional but recommended, since it allows client applications full control over when such resources can be reclaimed. If this method is not called, then the results' resources will be reclaimed when the session's `Session.logout()` method is called.
      Specified by:
        `close` in interface `AutoCloseable`

Copyright © 2008-2014 JBoss, a division of Red Hat. All Rights Reserved.