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

## Class LocalSearchHintOptions

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

-     public final class LocalSearchHintOptions
      extends java.lang.Object

  Since:
    1.5
  No Instantiate:
    This class is not intended to be instantiated by clients.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static QueryHintOption<IAdornmentProvider>` | `ADORNMENT_PROVIDER` | A provider of expected adornments `IAdornmentProvider`.
    `static QueryHintOption<ICallDelegationStrategy>` | `CALL_DELEGATION_STRATEGY` | Strategy to decide how hints (most importantly, backend selection) propagate across pattern calls.
    `static QueryHintOption<java.lang.Boolean>` | `CONSULT_SURROGATES` | Whether the search-based query backend is to use registered surrogate queries instead of derived features.
    `static QueryHintOption<IFlattenCallPredicate>` | `FLATTEN_CALL_PREDICATE` | Predicate to decide whether to flatten specific positive pattern calls `IFlattenCallPredicate`
    `static QueryHintOption<ICostFunction>` | `PLANNER_COST_FUNCTION` | Cost function to be used by the planner.
    `static QueryHintOption<java.lang.Integer>` | `PLANNER_TABLE_ROW_COUNT` |
    `static QueryHintOption<java.lang.Boolean>` | `USE_BASE_INDEX` |

  - ### Method Summary

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

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

- - ### Field Detail

    - #### USE_BASE_INDEX

          public static final QueryHintOption<java.lang.Boolean> USE_BASE_INDEX

    - #### PLANNER_TABLE_ROW_COUNT

          public static final QueryHintOption<java.lang.Integer> PLANNER_TABLE_ROW_COUNT

    - #### PLANNER_COST_FUNCTION

          public static final QueryHintOption<ICostFunction> PLANNER_COST_FUNCTION

      Cost function to be used by the planner. Must implement `ICostFunction`
      Since:
        1.4

    - #### FLATTEN_CALL_PREDICATE

          public static final QueryHintOption<IFlattenCallPredicate> FLATTEN_CALL_PREDICATE

      Predicate to decide whether to flatten specific positive pattern calls `IFlattenCallPredicate`
      Since:
        1.4

    - #### CALL_DELEGATION_STRATEGY

          public static final QueryHintOption<ICallDelegationStrategy> CALL_DELEGATION_STRATEGY

      Strategy to decide how hints (most importantly, backend selection) propagate across pattern calls. Must implement `ICallDelegationStrategy`.
      Since:
        2.1

    - #### ADORNMENT_PROVIDER

          public static final QueryHintOption<IAdornmentProvider> ADORNMENT_PROVIDER

      A provider of expected adornments `IAdornmentProvider`. The safe default is `AllValidAdornments`; however, the generic backend variant may safely use `LazyPlanningAdornments` instead.
      Since:
        1.5

    - #### CONSULT_SURROGATES

          public static final QueryHintOption<java.lang.Boolean> CONSULT_SURROGATES

      Whether the search-based query backend is to use registered surrogate queries instead of derived features.

      If set to false, the query evaluation will access derived features normally, and take their output at face value. Normally, this should be fine for the search-based backend (as opposed to caching backends), and come at a lower performance cost. Hence the default is false.

      Setting this option to true will cause the backend to consult the surrogate query registered for a given feature, if any. Consider this if the default implementation of some features are known to be erroneous, and there are surrogates queries that would provide correct results instead.

      Since:
        2.9