public class TypeFilterConstraint extends VariableDeferredPConstraint implements ITypeConstraint
IInputKey
.
The InputKey is typically not enumerable. If it is enumerable, use TypeConstraint
instead, so that the PConstraint carries over the property of enumerability.
ITypeConstraint.TypeConstraintUtil
PConstraint.CompareByMonotonousID
pBody
Constructor and Description |
---|
TypeFilterConstraint(PBody pBody,
Tuple variablesTuple,
IInputKey inputKey) |
Modifier and Type | Method and Description |
---|---|
protected 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).
|
java.util.Set<PVariable> |
getDeferringVariables() |
TypeJudgement |
getEquivalentJudgement() |
java.util.Map<java.util.Set<PVariable>,java.util.Set<PVariable>> |
getFunctionalDependencies(IQueryMetaContext context)
A (preferably minimal) cover of known functional dependencies between variables.
|
java.util.Set<TypeJudgement> |
getImpliedJudgements(IQueryMetaContext context)
Returns type information implied by this constraint.
|
IInputKey |
getInputKey() |
Tuple |
getVariablesTuple() |
protected java.lang.String |
toStringRest() |
isReadyAt
checkSanity, delete, getAffectedVariables, getMonotonousID, getPSystem, replaceVariable, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
checkSanity, delete, getAffectedVariables, getMonotonousID, replaceVariable
public Tuple getVariablesTuple()
public IInputKey getInputKey()
public TypeJudgement getEquivalentJudgement()
getEquivalentJudgement
in interface ITypeConstraint
protected void doReplaceVariable(PVariable obsolete, PVariable replacement)
doReplaceVariable
in class BasePConstraint
public java.util.Set<TypeJudgement> getImpliedJudgements(IQueryMetaContext context)
ITypeInfoProviderConstraint
getImpliedJudgements
in interface ITypeInfoProviderConstraint
public java.util.Set<PVariable> getDeducedVariables()
PConstraint
getDeducedVariables
in interface PConstraint
public java.util.Set<PVariable> getDeferringVariables()
getDeferringVariables
in class VariableDeferredPConstraint
protected java.lang.String toStringRest()
toStringRest
in class BasePConstraint
public java.util.Map<java.util.Set<PVariable>,java.util.Set<PVariable>> getFunctionalDependencies(IQueryMetaContext context)
PConstraint
getFunctionalDependencies
in interface PConstraint
getFunctionalDependencies
in class BasePConstraint