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

## Interface ISearchContext

- All Known Implementing Classes:
    ISearchContext.SearchContext

      public interface ISearchContext

  The `ISearchContext` interface allows search operations to reuse platform services such as the indexer.
  No Implement:
    This interface is not intended to be implemented by clients.
  No Extend:
    This interface is not intended to be extended by clients.
  No Reference:
    This interface is not intended to be referenced by clients.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static class` | `ISearchContext.SearchContext`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `<T> T` | `accessBackendLevelCache(java.lang.Object key, java.lang.Class<? extends T> clazz, IProvider<T> valueProvider)` Allows search operations to cache values through the entire lifecycle of the local search backend.
    `org.apache.log4j.Logger` | `getLogger()` Returns the engine-specific logger
    `IQueryResultProvider` | `getMatcher(CallWithAdornment dependency)` Returns a matcher for a selected query specification.
    `IQueryRuntimeContext` | `getRuntimeContext()` Provides access to the generic query runtime context of the current engine
    `void` | `registerObservedTypes(java.util.Set<org.eclipse.emf.ecore.EClass> classes, java.util.Set<org.eclipse.emf.ecore.EDataType> dataTypes, java.util.Set<org.eclipse.emf.ecore.EStructuralFeature> features)`

- - ### Method Detail

    - #### getRuntimeContext

          IQueryRuntimeContext getRuntimeContext()

      Provides access to the generic query runtime context of the current engine
      Since:
        1.7

    - #### registerObservedTypes

          void registerObservedTypes(java.util.Set<org.eclipse.emf.ecore.EClass> classes,
                                     java.util.Set<org.eclipse.emf.ecore.EDataType> dataTypes,
                                     java.util.Set<org.eclipse.emf.ecore.EStructuralFeature> features)

      Parameters:
        `classes` -
        `dataTypes` -
        `features` -

    - #### getMatcher

          IQueryResultProvider getMatcher(CallWithAdornment dependency)

      Returns a matcher for a selected query specification.
      Throws:
        `ViatraQueryRuntimeException`
      Since:
        1.5

    - #### accessBackendLevelCache

          <T> T accessBackendLevelCache(java.lang.Object key,
                                        java.lang.Class<? extends T> clazz,
                                        IProvider<T> valueProvider)

      Allows search operations to cache values through the entire lifecycle of the local search backend. The values are calculated if not cached before using the given provider, or returned from the cache accordingly.
      Since:
        1.7

    - #### getLogger

          org.apache.log4j.Logger getLogger()

      Returns the engine-specific logger
      Since:
        2.0