public abstract class BaseTypeSafeConstraint extends VariableDeferredPConstraint
PConstraint.CompareByMonotonousID
Modifier and Type | Field and Description |
---|---|
protected java.util.Set<PVariable> |
inputVariables |
protected PVariable |
outputVariable |
pBody
Constructor and Description |
---|
BaseTypeSafeConstraint(PBody pBody,
java.util.Set<PVariable> inputVariables,
PVariable outputVariable) |
Modifier and Type | Method and Description |
---|---|
PVariable |
checkTypeSafety(SubPlan plan,
IQueryMetaContext context)
Checks whether all type restrictions are already enforced on affected variables.
|
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() |
PVariable |
getOutputVariable() |
boolean |
isReadyAt(SubPlan plan,
IQueryMetaContext context)
Refine further if needed
|
checkSanity, delete, getAffectedVariables, getFunctionalDependencies, getMonotonousID, getPSystem, replaceVariable, toString, toStringRest
protected java.util.Set<PVariable> inputVariables
protected PVariable outputVariable
public PVariable getOutputVariable()
public java.util.Set<PVariable> getDeducedVariables()
PConstraint
public java.util.Set<PVariable> getDeferringVariables()
getDeferringVariables
in class VariableDeferredPConstraint
public boolean isReadyAt(SubPlan plan, IQueryMetaContext context)
VariableDeferredPConstraint
isReadyAt
in class VariableDeferredPConstraint
public PVariable checkTypeSafety(SubPlan plan, IQueryMetaContext context)
plan
- protected void doReplaceVariable(PVariable obsolete, PVariable replacement)
doReplaceVariable
in class BasePConstraint