001 package ifs.model;
002
003 /**
004 * IFS variable listener.
005 *
006 * @see Variable
007 *
008 * @author <a href="mailto:muller@ktiml.mff.cuni.cz">Tomáš Müller</a>
009 * @version 1.0
010 */
011 public interface VariableListener {
012 /** Called by the variable when a value is assigned to it
013 * @param iteration current iteration
014 * @param value assigned to the variable
015 */
016 public void variableAssigned(long iteration, Value value);
017
018 /** Called by the variable when a value is unassigned from it
019 * @param iteration current iteration
020 * @param value unassigned from the variable
021 */
022 public void variableUnassigned(long iteration, Value value);
023
024 /** Called by the variable when a value is permanently removed from its domain
025 * @param iteration current iteration
026 * @param value removed from the variable's domain
027 */
028 public void valueRemoved(long iteration, Value value);
029 }