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

## Class EnumerablePConstraint

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

- All Implemented Interfaces:
    `PConstraint`, `PTraceable`
  Direct Known Subclasses:
    `KeyedEnumerablePConstraint`, `RelationEvaluation`

      public abstract class EnumerablePConstraint
      extends BasePConstraint

  A constraint for which all satisfying tuples of variable values can be enumerated at any point during run-time.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected Tuple` | `variablesTuple` |

    - ### 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
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `EnumerablePConstraint​(PBody pBody, Tuple variablesTuple)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `doReplaceVariable​(PVariable obsolete, PVariable replacement)` |
    `java.util.Set<PVariable>` | `getDeducedVariables()` | The set of variables whose potential values can be enumerated (once all non-deduced variables have known values).
    `PVariable` | `getVariableInTuple​(int index)` |
    `Tuple` | `getVariablesTuple()` |
    `protected java.lang.String` | `toStringRest()` |
    `protected java.lang.String` | `toStringRestRest()` |

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

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

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

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

- - ### Field Detail

    - #### variablesTuple

          protected Tuple variablesTuple

  - ### Constructor Detail

    - #### EnumerablePConstraint

          protected EnumerablePConstraint​(PBody pBody,
                                          Tuple variablesTuple)

  - ### Method Detail

    - #### doReplaceVariable

          public void doReplaceVariable​(PVariable obsolete,
                                        PVariable replacement)

      Specified by:
        `doReplaceVariable` in class `BasePConstraint`

    - #### toStringRest

          protected java.lang.String toStringRest()

      Specified by:
        `toStringRest` in class `BasePConstraint`

    - #### toStringRestRest

          protected java.lang.String toStringRestRest()

    - #### getVariablesTuple

          public Tuple getVariablesTuple()

    - #### 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).

    - #### getVariableInTuple

          public PVariable getVariableInTuple​(int index)