Package org.eclipse.viatra.query.runtime.matchers.psystem

## Class VariableDeferredPConstraint

- java.lang.Object
- - org.eclipse.viatra.query.runtime.matchers.psystem.BasePConstraint
  - - org.eclipse.viatra.query.runtime.matchers.psystem.DeferredPConstraint
    - - org.eclipse.viatra.query.runtime.matchers.psystem.VariableDeferredPConstraint

- All Implemented Interfaces:
    `PConstraint`, `PTraceable`
  Direct Known Subclasses:
    `BaseTypeSafeConstraint`, `ExportedParameter`, `Inequality`, `PatternCallBasedDeferred`, `TypeFilterConstraint`

      public abstract class VariableDeferredPConstraint
      extends DeferredPConstraint

  A kind of deferred constraint that can only be checked when a set of deferring variables are all present in a plan.

- - ### Field Summary

    - ### Fields inherited from class org.eclipse.viatra.query.runtime.matchers.psystem.BasePConstraint

      `pBody`

    - ### Fields inherited from interface org.eclipse.viatra.query.runtime.matchers.psystem.PConstraint

      `COMPARE_BY_MONOTONOUS_ID`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `VariableDeferredPConstraint​(PBody pBody, java.util.Set<PVariable> affectedVariables)` |

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `abstract java.util.Set<PVariable>` | `getDeferringVariables()` |
    `boolean` | `isReadyAt​(SubPlan plan, IQueryMetaContext context)` | Refine further if needed

    - ### Methods inherited from class org.eclipse.viatra.query.runtime.matchers.psystem.BasePConstraint

      `checkSanity, delete, doReplaceVariable, getAffectedVariables, getBody, getFunctionalDependencies, getMonotonousID, getPSystem, replaceVariable, toString, toStringRest`

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

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

    - ### Methods inherited from interface org.eclipse.viatra.query.runtime.matchers.psystem.PConstraint

      `getDeducedVariables`

- - ### Constructor Detail

    - #### VariableDeferredPConstraint

          public VariableDeferredPConstraint​(PBody pBody,
                                             java.util.Set<PVariable> affectedVariables)

  - ### Method Detail

    - #### getDeferringVariables

          public abstract java.util.Set<PVariable> getDeferringVariables()

    - #### isReadyAt

          public boolean isReadyAt​(SubPlan plan,
                                   IQueryMetaContext context)

      Refine further if needed
      Specified by:
        `isReadyAt` in class `DeferredPConstraint`