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

## Class PatternCallBasedDeferred

- 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
      - - org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.PatternCallBasedDeferred

- All Implemented Interfaces:
    `IMultiQueryReference`, `IQueryReference`, `PConstraint`, `PTraceable`
  Direct Known Subclasses:
    `AggregatorConstraint`, `NegativePatternCall`, `PatternMatchCounter`

      public abstract class PatternCallBasedDeferred
      extends VariableDeferredPConstraint
      implements IQueryReference

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected Tuple` | `actualParametersTuple` |
    `protected PQuery` | `query` |

    - ### 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
    --- | ---
    `PatternCallBasedDeferred​(PBody pBody, Tuple actualParametersTuple, PQuery pattern)` |
    `PatternCallBasedDeferred​(PBody pBody, Tuple actualParametersTuple, PQuery pattern, java.util.Set<PVariable> additionalAffectedVariables)` |

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `checkSanity()` |
    `protected abstract void` | `doDoReplaceVariables​(PVariable obsolete, PVariable replacement)` |
    `protected void` | `doReplaceVariable​(PVariable obsolete, PVariable replacement)` |
    `Tuple` | `getActualParametersTuple()` |
    `protected abstract java.util.Set<PVariable>` | `getCandidateQuantifiedVariables()` |
    `java.util.Set<PVariable>` | `getDeferringVariables()` |
    `PQuery` | `getReferredQuery()` |

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

      `isReadyAt`

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

      `delete, 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.IQueryReference

      `getReferredQueries`

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

      `getDeducedVariables`

- - ### Field Detail

    - #### actualParametersTuple

          protected Tuple actualParametersTuple

    - #### query

          protected PQuery query

  - ### Constructor Detail

    - #### PatternCallBasedDeferred

          public PatternCallBasedDeferred​(PBody pBody,
                                          Tuple actualParametersTuple,
                                          PQuery pattern,
                                          java.util.Set<PVariable> additionalAffectedVariables)

    - #### PatternCallBasedDeferred

          public PatternCallBasedDeferred​(PBody pBody,
                                          Tuple actualParametersTuple,
                                          PQuery pattern)

  - ### Method Detail

    - #### doDoReplaceVariables

          protected abstract void doDoReplaceVariables​(PVariable obsolete,
                                                       PVariable replacement)

    - #### getCandidateQuantifiedVariables

          protected abstract java.util.Set<PVariable> getCandidateQuantifiedVariables()

    - #### getDeferringVariables

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

      Specified by:
        `getDeferringVariables` in class `VariableDeferredPConstraint`

    - #### checkSanity

          public void checkSanity()

      Specified by:
        `checkSanity` in interface `PConstraint`
      Overrides:
        `checkSanity` in class `BasePConstraint`

    - #### doReplaceVariable

          protected void doReplaceVariable​(PVariable obsolete,
                                           PVariable replacement)

      Specified by:
        `doReplaceVariable` in class `BasePConstraint`

    - #### getActualParametersTuple

          public Tuple getActualParametersTuple()

    - #### getReferredQuery

          public PQuery getReferredQuery()

      Specified by:
        `getReferredQuery` in interface `IQueryReference`