Update of /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22935/src/net/sourceforge/bprocessor/model
Added Files:
Constraints.java
Log Message:
Constraints contains all constraints and take care of updating
--- NEW FILE: Constraints.java ---
//---------------------------------------------------------------------------------
// $Id: Constraints.java,v 1.1 2006/01/11 13:34:47 henryml Exp $
//
// Copyright (c) 2005 The BProcessor Team (http://bprocessor.sourceforge.net)
// Released under the Lesser GNU Public License v2.1
//---------------------------------------------------------------------------------
package net.sourceforge.bprocessor.model;
import java.util.Collection;
import java.util.Iterator;
import java.util.LinkedList;
/**
* Constraints contains all constraints on the geometry
*/
public class Constraints {
/** The constraints */
private Collection constraints;
/** The singular Constraints instance */
private static Constraints instance = new Constraints();
/**
* Return the singular instance
* @return The singular instance
*/
public static Constraints getInstance() {
return instance;
}
/**
* Constructor for constraints
*/
public Constraints() {
constraints = new LinkedList();
}
/**
* Add a constraint
* @param constraint The constraint to add
*/
public void add(Constraint constraint) {
constraints.add(constraint);
}
/**
* Remove a constraint
* @param constraint The constraint to remove
*/
public void remove(Constraint constraint) {
constraints.remove(constraint);
}
/**
* Update all constraints related to entity
* @param entity The changed entity
*/
public void update(Entity entity) {
// TODO implement general constraint updating mechanism
// that ensures that constraints are updated in correct
// order
Iterator iter = constraints.iterator();
while (iter.hasNext()) {
Constraint current = (Constraint) iter.next();
if (current.depends(entity)) {
current.update(entity);
}
}
entity.changed();
}
}
|