org.eclipse.viatra.query.runtime.localsearch.matcher.integration

## Class LocalSearchBackend

- java.lang.Object
- - org.eclipse.viatra.query.runtime.localsearch.matcher.integration.LocalSearchBackend

- All Implemented Interfaces:
    IQueryBackend

      public class LocalSearchBackend
      extends java.lang.Object
      implements IQueryBackend

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `LocalSearchBackend(IQueryBackendContext context)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addAdapter(ILocalSearchAdapter adapter)`
    `void` | `dispose()` Disposes the query backend.
    `void` | `flushUpdates()` Propagates all pending updates in this query backend.
    `IQueryBackendContext` | `getBackendContext()`
    `com.google.common.collect.Table<org.eclipse.emf.ecore.EDataType,org.eclipse.emf.ecore.EClass,java.util.Set<org.eclipse.emf.ecore.EAttribute>>` | `geteAttributesByTypeForEClass()`
    `IQueryBackendHintProvider` | `getHintProvider()`
    `QueryAnalyzer` | `getQueryAnalyzer()`
    `IQueryResultProvider` | `getResultProvider(PQuery query)` Returns a result provider for a given query.
    `IQueryResultProvider` | `getResultProvider(PQuery query, QueryEvaluationHint hints)` Returns a result provider for a given query.
    `IQueryRuntimeContext` | `getRuntimeContext()`
    `boolean` | `isCaching()`
    `IQueryResultProvider` | `peekExistingResultProvider(PQuery query)` Returns an existing result provider for a given query, if it was previously constructed, returns null otherwise.
    `void` | `removeAdapter(ILocalSearchAdapter adapter)`

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

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

- - ### Constructor Detail

    - #### LocalSearchBackend

          public LocalSearchBackend(IQueryBackendContext context)

      Since:
        1.5

  - ### Method Detail

    - #### flushUpdates

          public void flushUpdates()

      Description copied from interface: `IQueryBackend`
      Propagates all pending updates in this query backend. The implementation of this method is optional, and it can be ignored entirely if the backend does not delay updates.
      Specified by:
        `flushUpdates` in interface `IQueryBackend`

    - #### getResultProvider

          public IQueryResultProvider getResultProvider(PQuery query)
                                                 throws QueryProcessingException

      Description copied from interface: `IQueryBackend`
      Returns a result provider for a given query. Repeated calls may return the same instance.
      Specified by:
        `getResultProvider` in interface `IQueryBackend`
      Throws:
        `QueryProcessingException`

    - #### getResultProvider

          public IQueryResultProvider getResultProvider(PQuery query,
                                                        QueryEvaluationHint hints)
                                                 throws QueryProcessingException

      Description copied from interface: `IQueryBackend`
      Returns a result provider for a given query. Repeated calls may return the same instance.
      Specified by:
        `getResultProvider` in interface `IQueryBackend`
      Throws:
        `QueryProcessingException`
      Since:
        1.4

    - #### dispose

          public void dispose()

      Description copied from interface: `IQueryBackend`
      Disposes the query backend.
      Specified by:
        `dispose` in interface `IQueryBackend`

    - #### isCaching

          public boolean isCaching()

      Specified by:
        `isCaching` in interface `IQueryBackend`
      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.

    - #### peekExistingResultProvider

          public IQueryResultProvider peekExistingResultProvider(PQuery query)

      Description copied from interface: `IQueryBackend`
      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.
      Specified by:
        `peekExistingResultProvider` in interface `IQueryBackend`

    - #### geteAttributesByTypeForEClass

          public com.google.common.collect.Table<org.eclipse.emf.ecore.EDataType,org.eclipse.emf.ecore.EClass,java.util.Set<org.eclipse.emf.ecore.EAttribute>> geteAttributesByTypeForEClass()

    - #### getRuntimeContext

          public IQueryRuntimeContext getRuntimeContext()

      Since:
        1.4

    - #### getQueryAnalyzer

          public QueryAnalyzer getQueryAnalyzer()

      Since:
        1.5

    - #### getHintProvider

          public IQueryBackendHintProvider getHintProvider()

      Since:
        1.4

    - #### addAdapter

          public void addAdapter(ILocalSearchAdapter adapter)

      Since:
        1.5

    - #### removeAdapter

          public void removeAdapter(ILocalSearchAdapter adapter)

      Since:
        1.5

    - #### getBackendContext

          public IQueryBackendContext getBackendContext()

      Since:
        1.5