package pt.ist.fenixframework.dml.runtime;
import pt.ist.fenixframework.DomainObject;
public interface Relation<C1 extends DomainObject,C2 extends DomainObject> {
public void add(C1 o1, C2 o2);
public void remove(C1 o1, C2 o2);
public Relation<C2,C1> getInverseRelation();
public String getName();
// Remove the following from the Relation interface because the
// static initialization order of classes prevent us from adding
// listeners to non-direct relations
//public void addListener(RelationListener<C1,C2> listener);
//public void removeListener(RelationListener<C1,C2> listener);
}