package agg.xt_basis.csp; import agg.util.csp.BinaryConstraint; import agg.util.csp.Variable; import agg.xt_basis.Arc; public class Constraint_Source extends BinaryConstraint { public Constraint_Source(Variable src, Variable arc) { super(src, arc, 0); } public void clear() { this.itsVar1 = null; this.itsVar2 = null; } /** * Return true iff the current instance of <code>src</code> is the source * object of the instance of <code>arc</code>. * <p> * Pre: (1) src.getInstance(), arc.getInstance() instanceof GraphObject. */ public final boolean execute() { boolean result = (getVar1().getInstance().equals(((Arc) getVar2().getInstance()).getSource())); // System.out.println("Constraint_Source.execute:: "+result+" // "+((GraphObject)getVar1().getGraphObject()).getType().getName()+" // "+((Arc) getVar2().getInstance()).getSource().getType().getName()); return result; } }