merge of localization branch into HEAD. mh and zap
[mir.git] / source / mir / entity / adapter / EntityIteratorAdapter.java
1 package mir.entity.adapter;
2
3 import java.util.*;
4 import mir.storage.*;
5 import mir.util.*;
6 import mir.entity.*;
7
8 public class EntityIteratorAdapter implements RewindableIterator {
9   private String definitionName;
10   private RewindableIterator iterator;
11   private EntityAdapterModel model;
12
13   public EntityIteratorAdapter(RewindableIterator anIterator, EntityAdapterModel aModel, String aDefinitionName) {
14     model = aModel;
15     iterator = anIterator;
16     definitionName = aDefinitionName;
17   }
18
19   public EntityIteratorAdapter(String aWhereClause, String anOrderByClause, int aBatchSize, EntityAdapterModel aModel, String aDefinitionName ) throws StorageObjectException {
20     this(new EntityBrowser(aModel.getMappingForName(aDefinitionName).getStorage(), aWhereClause, anOrderByClause, aBatchSize), aModel, aDefinitionName);
21   }
22
23   public EntityIteratorAdapter(String aWhereClause, String anOrderByClause, int aBatchSize, EntityAdapterModel aModel, String aDefinitionName, int aLimit, int aSkip) throws StorageObjectException {
24     this(new EntityBrowser(aModel.getMappingForName(aDefinitionName).getStorage(), aWhereClause, anOrderByClause, aBatchSize, aLimit, aSkip), aModel, aDefinitionName);
25   }
26
27   public boolean hasNext() {
28     return iterator.hasNext();
29   }
30
31   public Object next() {
32     return model.makeEntityAdapter(definitionName, (Entity) iterator.next());
33   }
34
35   public void remove() {
36     iterator.remove();
37   }
38
39   public void rewind() {
40     iterator.rewind();
41   };
42 }