JaCoP.constraints
Class PrimitiveConstraint

java.lang.Object
  extended by JaCoP.constraints.DecomposedConstraint
      extended by JaCoP.constraints.Constraint
          extended by JaCoP.constraints.PrimitiveConstraint
Direct Known Subclasses:
AbsXeqY, AeqB, AeqS, AinB, AinS, And, AndBool, Distance, EinA, Eq, EqBool, IfThen, IfThenBool, IfThenElse, In, NoGood, Not, Or, OrBool, SinA, XeqA, XeqC, XeqY, XgtC, XgteqC, XgteqY, XgtY, XinA, XltC, XlteqC, XlteqY, XltY, XmulYeqC, XneqC, XneqY, Xor, XorBool, XplusCeqZ, XplusClteqZ, XplusYeqC, XplusYeqZ, XplusYgtC, XplusYlteqZ, XplusYplusCeqZ, XplusYplusQeqZ, XplusYplusQgtC

public abstract class PrimitiveConstraint
extends Constraint

Standard unified interface for all primitive constraints. In addition to functions defined by interface Constraint it also defines function notConsistency and notSatisfied. Only PrimitiveConstraints can be used as arguments to constraints Not, And, Or, etc.

Version:
3.1
Author:
Radoslaw Szymanek and Krzysztof Kuchcinski

Field Summary
 java.util.Hashtable<Var,java.lang.Integer> notConsistencyPruningEvents
          It specifies the events which must occur for notConsistency() method being executed.
 
Fields inherited from class JaCoP.constraints.Constraint
atomicExecution, consistencyPruningEvents, earlyTerminationOK, id, increaseWeight, numberArgs, numberId
 
Fields inherited from class JaCoP.constraints.DecomposedConstraint
queueIndex
 
Constructor Summary
PrimitiveConstraint()
           
 
Method Summary
abstract  int getNestedPruningEvent(Var var, boolean mode)
          It retrieves the pruning event for which any composed constraint which uses this constraint should be evaluated.
abstract  int getNotConsistencyPruningEvent(Var var)
          It retrieves the pruning event which causes reevaluation of the constraint notConsistency() function.
abstract  void notConsistency(Store store)
          It makes pruning in such a way that constraint is notConsistent.
abstract  boolean notSatisfied()
          It checks if constraint would be always not satisfied.
 void setNotConsistencyPruningEvent(Var var, int pruningEvent)
          It allows to specify customized events required to trigger execution of notConsitency() method.
 
Methods inherited from class JaCoP.constraints.Constraint
arguments, cleanAfterFailure, consistency, decompose, getConsistencyPruningEvent, getGuideConstraint, getGuideValue, getGuideVariable, id, impose, impose, imposeDecomposition, increaseWeight, numberArgs, queueVariable, removeConstraint, removeLevel, removeLevelLate, requiresMonotonicity, satisfied, setConsistencyPruningEvent, supplyGuideFeedback, toString
 
Methods inherited from class JaCoP.constraints.DecomposedConstraint
auxiliaryVariables, imposeDecomposition
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

notConsistencyPruningEvents

public java.util.Hashtable<Var,java.lang.Integer> notConsistencyPruningEvents
It specifies the events which must occur for notConsistency() method being executed.

Constructor Detail

PrimitiveConstraint

public PrimitiveConstraint()
Method Detail

getNotConsistencyPruningEvent

public abstract int getNotConsistencyPruningEvent(Var var)
It retrieves the pruning event which causes reevaluation of the constraint notConsistency() function.

Parameters:
var - for which pruning event is retrieved
Returns:
the int denoting the pruning event associated with given variable.

getNestedPruningEvent

public abstract int getNestedPruningEvent(Var var,
                                          boolean mode)
It retrieves the pruning event for which any composed constraint which uses this constraint should be evaluated. This events are the ones which can change satisfied status?

Parameters:
var - for which pruning event is retrieved
mode - decides if pruning event for consistency or nonconsistency is required.
Returns:
pruning event associated with the given variable for a given consistency mode.

notConsistency

public abstract void notConsistency(Store store)
It makes pruning in such a way that constraint is notConsistent. It removes values which always belong to a solution.

Parameters:
store - the constraint store in which context the notConsistency technique is evaluated.

notSatisfied

public abstract boolean notSatisfied()
It checks if constraint would be always not satisfied.

Returns:
true if constraint must be notSatisfied, false otherwise.

setNotConsistencyPruningEvent

public void setNotConsistencyPruningEvent(Var var,
                                          int pruningEvent)
It allows to specify customized events required to trigger execution of notConsitency() method.

Parameters:
var - variable for which customized event is setup.
pruningEvent - the type of the event being setup.