org.eclipse.viatra.query.runtime.matchers.backend

## Class ResultProviderRequestor

- java.lang.Object
- - org.eclipse.viatra.query.runtime.matchers.backend.ResultProviderRequestor

-     public class ResultProviderRequestor
      extends java.lang.Object

  Uniform way of requesting result providers for pattern calls within queries. Intended users are query backends, for calling other backends to deliver results of dependee queries.
  Since:
    2.1

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ResultProviderRequestor(IQueryBackend callerBackend, IQueryResultProviderAccess resultProviderAccess, IQueryBackendHintProvider hintProvider, ICallDelegationStrategy delegationStrategy, QueryEvaluationHint callerHint, QueryEvaluationHint universalOverride)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `IQueryResultProvider` | `requestResultProvider(IQueryReference call, QueryEvaluationHint spotOverride)`

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

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

- - ### Constructor Detail

    - #### ResultProviderRequestor

          public ResultProviderRequestor(IQueryBackend callerBackend,
                                         IQueryResultProviderAccess resultProviderAccess,
                                         IQueryBackendHintProvider hintProvider,
                                         ICallDelegationStrategy delegationStrategy,
                                         QueryEvaluationHint callerHint,
                                         QueryEvaluationHint universalOverride)

      Parameters:
        `callerBackend` - the actual backend evaluating the calling pattern.
        `resultProviderAccess` -
        `hintProvider` -
        `delegationStrategy` -
        `callerHint` - a hint under which the calling pattern is evaluated,
        `universalOverride` - if non-null, overrides the hint with extra options after the `ICallDelegationStrategy`

  - ### Method Detail

    - #### requestResultProvider

          public IQueryResultProvider requestResultProvider(IQueryReference call,
                                                            QueryEvaluationHint spotOverride)

      Parameters:
        `call` - a `PConstraint` in a query that calls another query.
        `spotOverride` - if non-null, overrides the hint with extra options after the `ICallDelegationStrategy` and the universal override specified in the constructor
      Returns:
        the obtained result provider