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

## Class LocalSearchResultProvider

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

- All Implemented Interfaces:
    IQueryResultProvider

      public class LocalSearchResultProvider
      extends AbstractLocalSearchResultProvider

- - ### Field Summary

    - ### Fields inherited from class org.eclipse.viatra.query.runtime.localsearch.matcher.integration.AbstractLocalSearchResultProvider

      `backend, backendContext, hintCache, planProvider, query, resultProviderRequestor, runtimeContext, searchContext, userHints`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `LocalSearchResultProvider(LocalSearchBackend backend, IQueryBackendContext context, PQuery query, IPlanProvider planProvider)`
    `LocalSearchResultProvider(LocalSearchBackend backend, IQueryBackendContext context, PQuery query, IPlanProvider planProvider, QueryEvaluationHint userHints)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected IOperationCompiler` | `getOperationCompiler(IQueryBackendContext backendContext, LocalSearchHints configuration)`
    `protected void` | `indexInitializationBeforePlanning()` This method is called before planning start to allow indexing.

    - ### Methods inherited from class org.eclipse.viatra.query.runtime.localsearch.matcher.integration.AbstractLocalSearchResultProvider

      `addUpdateListener, countMatches, countMatches, estimateAverageBucketSize, estimateCardinality, estimateCost, forgetAllPlans, getAllMatches, getAllMatches, getCapabilites, getOneArbitraryMatch, getOneArbitraryMatch, getQueryBackend, getSearchPlan, hasMatch, hasMatch, indexReferredTypesOfQuery, newLocalSearchMatcher, newLocalSearchMatcher, prepare, prepareDirectDependencies, preparePlansForExpectedAdornments, removeUpdateListener`

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

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

- - ### Constructor Detail

    - #### LocalSearchResultProvider

          public LocalSearchResultProvider(LocalSearchBackend backend,
                                           IQueryBackendContext context,
                                           PQuery query,
                                           IPlanProvider planProvider)

      Throws:
        `ViatraQueryRuntimeException`
      Since:
        1.5

    - #### LocalSearchResultProvider

          public LocalSearchResultProvider(LocalSearchBackend backend,
                                           IQueryBackendContext context,
                                           PQuery query,
                                           IPlanProvider planProvider,
                                           QueryEvaluationHint userHints)

      Throws:
        `ViatraQueryRuntimeException`
      Since:
        1.5

  - ### Method Detail

    - #### indexInitializationBeforePlanning

          protected void indexInitializationBeforePlanning()

      Description copied from class: `AbstractLocalSearchResultProvider`
      This method is called before planning start to allow indexing. It is important to note that this method is called inside a coalesceTraversals block, meaning (1) it is safe to add multiple registration requests as necessary, but (2) no value or statistics is available from the index.
      Overrides:
        `indexInitializationBeforePlanning` in class `AbstractLocalSearchResultProvider`

    - #### getOperationCompiler

          protected IOperationCompiler getOperationCompiler(IQueryBackendContext backendContext,
                                                            LocalSearchHints configuration)

      Specified by:
        `getOperationCompiler` in class `AbstractLocalSearchResultProvider`