org.eclipse.incquery.runtime.matchers.backend

## Interface IQueryBackend

- All Known Implementing Classes:
    LocalSearchBackend, ReteEngine

      public interface IQueryBackend

  Internal interface for an IncQuery query specification. Each query is associated with a pattern. Methods instantiate a matcher of the pattern with various parameters.
  Since:
    0.9
  Author:
    Bergmann Gábor

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `dispose()` Disposes the query backend.
    `IQueryResultProvider` | `getResultProvider(PQuery query)` Returns a result provider for a given query.
    `boolean` | `isCaching()`
    `IQueryResultProvider` | `peekExistingResultProvider(PQuery query)` Returns an existing result provider for a given query, if it was previously constructed, returns null otherwise.

- - ### Method Detail

    - #### isCaching

          boolean isCaching()

      Returns:
        true iff this backend is incremental, i.e. it caches the results of queries for quick retrieval, and can provide update notifications on result set changes.

    - #### getResultProvider

          IQueryResultProvider getResultProvider(PQuery query)
                                          throws QueryProcessingException

      Returns a result provider for a given query. Repeated calls may return the same instance.
      Throws:
        `QueryProcessingException`

    - #### peekExistingResultProvider

          IQueryResultProvider peekExistingResultProvider(PQuery query)

      Returns an existing result provider for a given query, if it was previously constructed, returns null otherwise. Will not construct and initialize new result providers.

    - #### dispose

          void dispose()

      Disposes the query backend.