import java.util.*;
import mir.entity.*;
+import mir.util.*;
public class EntityAdapter implements Map {
private Entity entity;
private EntityAdapterDefinition definition;
private Map calculatedFieldsCache;
+ private EntityAdapterModel model;
- public EntityAdapter(Entity anEntity, EntityAdapterDefinition aDefinition) {
+ public EntityAdapter(Entity anEntity, EntityAdapterDefinition aDefinition, EntityAdapterModel aModel) {
entity = anEntity;
definition = aDefinition;
calculatedFieldsCache = new HashMap();
+ model = aModel;
}
public boolean containsKey(Object aKey) {
return entity;
}
+ public EntityAdapterModel getModel() {
+ return model;
+ }
+
public Object get(Object aKey) {
Object result;
public Set entrySet() {
throw new UnsupportedOperationException("EntityAdapter.entrySet()");
}
+
+ public Object getRelation(String aWhereClause, String anOrderByClause, String aDefinition) {
+ try {
+ return
+ new CachingRewindableIterator(
+ new EntityIteratorAdapter(
+ aWhereClause, anOrderByClause, -1, getModel(), aDefinition));
+ }
+ catch (Throwable t) {
+ throw new RuntimeException(t.getMessage());
+ }
+ }
+
}
\ No newline at end of file