public interface IVariableMonitor<V extends Variable> extends Serializable, ICause
Propagator
because it is not scheduled in the propagation engine.
However, it assumes that this
executes fast and low complexity operations.
Otherwise, it should be a propagator.
This also differs from IView
because it is not a specific variable, and can connect
two or more variables together. For instance, this can be used for logging issue.
void onUpdate(V var, IEventType evt) throws ContradictionException
var
- variable concernedevt
- modification eventContradictionException
void duplicate(Solver solver, gnu.trove.map.hash.THashMap<Object,Object> identitymap)
this
(which naturally adds it into solver
).
IMonitor should be duplicated only if it is about modeling and not solving (ie: search).solver
- target solveridentitymap
- a map to guarantee uniqueness of objectsCopyright © 2015. All rights reserved.