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

## Class LazyPlanningAdornments

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

- All Implemented Interfaces:
    IAdornmentProvider

      public class LazyPlanningAdornments
      extends java.lang.Object
      implements IAdornmentProvider

  This adornment provider does not trigger the preparation of any plans. Actual query plans will be computed on demand, when the first actual match request is made with a given adornment.

  Caution: this is a safe default adornment provider for `GenericLocalSearchResultProvider` only; do not use for the EMF-specific LS backend.

  The benefits is in execution time: query planning costs for adornments are postponed until first usage or even entirely avoided (when adornment is never used in practice). However, query evaluation time may become less predictable, as the first matcher call (with a given adornment) will include the planning cost. For benchmarking or other purposes where this is not desirable, use an adornment provider that demands plan precomputation for all necessary adornments.

  Since:
    2.1

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `LazyPlanningAdornments()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.Iterable<java.util.Set<PParameter>>` | `getAdornments(PQuery query)` The bound parameter sets

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

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

    - ### Methods inherited from interface org.eclipse.viatra.query.runtime.localsearch.matcher.integration.IAdornmentProvider

      `toHint`

- - ### Constructor Detail

    - #### LazyPlanningAdornments

          public LazyPlanningAdornments()

  - ### Method Detail

    - #### getAdornments

          public java.lang.Iterable<java.util.Set<PParameter>> getAdornments(PQuery query)

      Description copied from interface: `IAdornmentProvider`
      The bound parameter sets
      Specified by:
        `getAdornments` in interface `IAdornmentProvider`