Package org.jacop.api
Interface Stateful
- All Known Subinterfaces:
MutableVar
- All Known Implementing Classes:
AbsPeqR
,AbsXeqY
,AcosPeqR
,Alldistinct
,Among
,AmongVar
,AsinPeqR
,Assignment
,Binpacking
,BoundsVar
,Circuit
,CircuitVar
,CosPeqR
,Diff
,Diff2
,Diff2Var
,Disjoint
,DisjointConditional
,DisjointCondVar
,Distance
,ElementFloat
,ElementFloatVariable
,ElementInteger
,ElementIntegerFast
,ElementSetVariable
,ElementVariable
,ElementVariableFast
,ExtensionalConflictVA
,ExtensionalSupportSTR
,ExtensionalSupportVA
,GCC
,Geost
,Lex
,LexOrder
,MutableDomain
,NetworkFlow
,Regular
,SatWrapper
,SimpleTable
,SinPeqR
,Table
,TimeStamp
,ValuePrecede
public interface Stateful
Interface to mark the need of an entity to receive information about level being removed.
- Version:
- 4.9
-
Method Summary
Modifier and TypeMethodDescriptiondefault boolean
This function can be overriden by any constraint to specify dynamic conditions (based on the domain of variables at imposition level to decide if it is a stateful constraint.void
removeLevel
(int level) This function is called in case of the backtrack, so a constraint can clear the queue of changed variables which is no longer valid.
-
Method Details
-
removeLevel
void removeLevel(int level) This function is called in case of the backtrack, so a constraint can clear the queue of changed variables which is no longer valid. This function is called *before* all timestamps, variables, mutablevariables have reverted to their previous value.- Parameters:
level
- the level which is being removed.
-
isStateful
default boolean isStateful()This function can be overriden by any constraint to specify dynamic conditions (based on the domain of variables at imposition level to decide if it is a stateful constraint.- Returns:
- true if constraint is stateful.
-