org.eclipse.viatra.query.runtime.localsearch.planner

## Class POperationCompiler

- java.lang.Object
- - org.eclipse.viatra.query.runtime.localsearch.planner.POperationCompiler

-     public class POperationCompiler
      extends java.lang.Object

  An EMF specific plan compiler for the local search-based pattern matcher
  No Reference:
    This class is not intended to be referenced by clients.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `POperationCompiler(IQueryRuntimeContext runtimeContext, IQueryBackend backend)`
    `POperationCompiler(IQueryRuntimeContext runtimeContext, IQueryBackend backend, boolean baseIndexAvailable)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.util.List<ISearchOperation>` | `compile(SubPlan plan, java.util.Set<PParameter> boundParameters)` Compiles a plan of `POperation`s to a list of type `List<ISearchOperation>`
    `java.util.Set<MatcherReference>` | `getDependencies()`
    `java.util.Map<PVariable,java.lang.Integer>` | `getVariableMappings()`

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

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

- - ### Constructor Detail

    - #### POperationCompiler

          public POperationCompiler(IQueryRuntimeContext runtimeContext,
                                    IQueryBackend backend)

    - #### POperationCompiler

          public POperationCompiler(IQueryRuntimeContext runtimeContext,
                                    IQueryBackend backend,
                                    boolean baseIndexAvailable)

  - ### Method Detail

    - #### compile

          public java.util.List<ISearchOperation> compile(SubPlan plan,
                                                          java.util.Set<PParameter> boundParameters)
                                                   throws QueryProcessingException

      Compiles a plan of `POperation`s to a list of type `List<ISearchOperation>`
      Parameters:
        `plan` -
        `boundParameters` -
      Returns:
        an ordered list of POperations that make up the compiled search plan
      Throws:
        `QueryProcessingException`

    - #### getDependencies

          public java.util.Set<MatcherReference> getDependencies()

    - #### getVariableMappings

          public java.util.Map<PVariable,java.lang.Integer> getVariableMappings()

      Returns:
        the cached variable bindings for the previously created plan