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

## Class PatternMatchCounter

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

- All Implemented Interfaces:
    IMultiQueryReference, IQueryReference, PConstraint, PTraceable

      public class PatternMatchCounter
      extends PatternCallBasedDeferred

- - ### Field Summary

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

      `actualParametersTuple, 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 and Description
    `PatternMatchCounter(PBody pBody, Tuple actualParametersTuple, PQuery query, PVariable resultVariable)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `doDoReplaceVariables(PVariable obsolete, PVariable replacement)`
    `protected java.util.Set<PVariable>` | `getCandidateQuantifiedVariables()`
    `java.util.Set<PVariable>` | `getDeducedVariables()` The set of variables whose potential values can be enumerated (once all non-deduced variables have known values).
    `java.util.Map<java.util.Set<PVariable>,java.util.Set<PVariable>>` | `getFunctionalDependencies(IQueryMetaContext context)` A (preferably minimal) cover of known functional dependencies between variables.
    `PVariable` | `getResultVariable()`
    `protected java.lang.String` | `toStringRest()`

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

      `checkSanity, doReplaceVariable, getActualParametersTuple, getDeferringVariables, 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, getMonotonousID, getPSystem, replaceVariable, toString`

    - ### 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`

- - ### Constructor Detail

    - #### PatternMatchCounter

          public PatternMatchCounter(PBody pBody,
                                     Tuple actualParametersTuple,
                                     PQuery query,
                                     PVariable resultVariable)

  - ### Method Detail

    - #### getDeducedVariables

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

      Description copied from interface: `PConstraint`
      The set of variables whose potential values can be enumerated (once all non-deduced variables have known values).

    - #### getFunctionalDependencies

          public java.util.Map<java.util.Set<PVariable>,java.util.Set<PVariable>> getFunctionalDependencies(IQueryMetaContext context)

      Description copied from interface: `PConstraint`
      A (preferably minimal) cover of known functional dependencies between variables.
      Specified by:
        `getFunctionalDependencies` in interface `PConstraint`
      Overrides:
        `getFunctionalDependencies` in class `BasePConstraint`
      Returns:
        non-trivial functional dependencies in the form of {variables} --> {variables}, where dependencies with the same lhs are unified.

    - #### doDoReplaceVariables

          protected void doDoReplaceVariables(PVariable obsolete,
                                              PVariable replacement)

      Specified by:
        `doDoReplaceVariables` in class `PatternCallBasedDeferred`

    - #### getCandidateQuantifiedVariables

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

      Specified by:
        `getCandidateQuantifiedVariables` in class `PatternCallBasedDeferred`

    - #### toStringRest

          protected java.lang.String toStringRest()

      Specified by:
        `toStringRest` in class `BasePConstraint`

    - #### getResultVariable

          public PVariable getResultVariable()