package pt.ist.fenixframework.dml.runtime; import java.io.Serializable; import java.util.Iterator; import pt.ist.fenixframework.DomainObject; public interface DomainBasedMap<T extends Serializable> extends DomainObject, Iterable<T> { public T get(Comparable key); public boolean putIfMissing(Comparable key, T value); public void put(Comparable key, T value); public boolean remove(Comparable key); public boolean contains(Comparable key); public int size(); @Override public Iterator<T> iterator(); /** * This interface provides to the {@link RelationAwareSet} a means to ask for a instance of its internal DomainBasedMap, * when it is not yet loaded. An implementation of this interface should be provided (by the code generator) when creating * instances of RelationAwareSet and NOT providing the internalMap. */ public interface Getter<Y extends Serializable> { public DomainBasedMap<Y> get(); } }