Interface PConstraint

All Superinterfaces:
PTraceable
All Known Subinterfaces:
ITypeConstraint, ITypeInfoProviderConstraint
All Known Implementing Classes:
AbstractTransitiveClosure, AggregatorConstraint, BasePConstraint, BaseTypeSafeConstraint, BinaryReflexiveTransitiveClosure, BinaryTransitiveClosure, ConstantValue, DeferredPConstraint, EnumerablePConstraint, Equality, ExportedParameter, ExpressionEvaluation, Inequality, KeyedEnumerablePConstraint, LeftJoinConstraint, NegativePatternCall, PatternCallBasedDeferred, PatternMatchCounter, PositivePatternCall, RelationEvaluation, RepresentativeElectionConstraint, TypeConstraint, TypeFilterConstraint, VariableDeferredPConstraint

public interface PConstraint extends PTraceable
  • Field Details

    • COMPARE_BY_MONOTONOUS_ID

      static final Comparator<PConstraint> COMPARE_BY_MONOTONOUS_ID
      A comparator that orders constraints by their monotonous identifiers. Should only used for tiebreaking in other comparators.
      Since:
      2.0
  • Method Details

    • getBody

      PBody getBody()
      Returns:
      the query body this constraint belongs to
      Since:
      2.1
    • getAffectedVariables

      Set<PVariable> getAffectedVariables()
      All variables affected by this constraint.
    • getDeducedVariables

      Set<PVariable> getDeducedVariables()
      The set of variables whose potential values can be enumerated (once all non-deduced variables have known values).
    • getFunctionalDependencies

      Map<Set<PVariable>,Set<PVariable>> getFunctionalDependencies(IQueryMetaContext context)
      A (preferably minimal) cover of known functional dependencies between variables.
      Returns:
      non-trivial functional dependencies in the form of {variables} --> {variables}, where dependencies with the same lhs are unified.
    • replaceVariable

      void replaceVariable(PVariable obsolete, PVariable replacement)
    • delete

      void delete()
    • checkSanity

      void checkSanity()
    • getMonotonousID

      int getMonotonousID()
      Returns an integer ID that is guaranteed to increase strictly monotonously for constraints within a pBody.