com.thinkaurelius.titan.graphdb.query

## Interface QueryExecutor<Q extends ElementQuery,R extends TitanElement,B extends BackendQuery>

- All Known Implementing Classes:
    MetricsQueryExecutor

      public interface QueryExecutor<Q extends ElementQuery,R extends TitanElement,B extends BackendQuery>

  Executes a given query and its subqueries against an underlying data store and transaction.
  Author:
    Matthias Broecheler (me@matthiasb.com)

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Iterator<R>` | `execute(Q query, B subquery, Object executionInfo)` Executes the given sub-query against a data store and returns an iterator over the results.
    `Iterator<R>` | `getNew(Q query)` Returns all newly created elements in a transactional context that match the given query.
    `boolean` | `hasDeletions(Q query)` Whether the transactional context contains any deletions that could potentially affect the result set of the given query.
    `boolean` | `isDeleted(Q query, R result)` Whether the given result entry has been deleted in the transactional context and should hence be removed from the result set.

- - ### Method Detail

    - #### getNew

          Iterator<R> getNew(Q query)

      Returns all newly created elements in a transactional context that match the given query.
      Parameters:
        `query` -
      Returns:

    - #### hasDeletions

          boolean hasDeletions(Q query)

      Whether the transactional context contains any deletions that could potentially affect the result set of the given query. This is used to determine whether results need to be checked for deletion with `isDeleted(ElementQuery, com.thinkaurelius.titan.core.TitanElement)`.
      Parameters:
        `query` -
      Returns:

    - #### isDeleted

          boolean isDeleted(Q query,
                          R result)

      Whether the given result entry has been deleted in the transactional context and should hence be removed from the result set.
      Parameters:
        `query` -
        `result` -
      Returns:

    - #### execute

          Iterator<R> execute(Q query,
                            B subquery,
                            Object executionInfo)

      Executes the given sub-query against a data store and returns an iterator over the results. These results are not yet adjusted to any modification made in the transactional context which are done by the `QueryProcessor` using the other methods of this interface.
      Parameters:
        `query` -
        `subquery` -
        `executionInfo` -
      Returns:

Copyright © 2012–2014. All rights reserved.