fe967ab2b9691ab5cbc915b754e06b99e5ce2fb1
[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 EntityAdapterDefinition definition;
10   private RewindableIterator iterator;
11
12   public EntityIteratorAdapter(RewindableIterator anIterator, EntityAdapterDefinition aDefinition) {
13     iterator = anIterator;
14     definition = aDefinition;
15   }
16
17   public EntityIteratorAdapter(StorageObject aStorage, String aWhereClause, String anOrderByClause, int aBatchSize, EntityAdapterDefinition aDefinition) throws StorageObjectException {
18     this(new EntityBrowser(aStorage, aWhereClause, anOrderByClause, aBatchSize), aDefinition);
19   }
20
21   public EntityIteratorAdapter(StorageObject aStorage, String aWhereClause, String anOrderByClause, int aBatchSize, EntityAdapterDefinition aDefinition, int aLimit, int aSkip) throws StorageObjectException {
22     this(new EntityBrowser(aStorage, aWhereClause, anOrderByClause, aBatchSize, aLimit, aSkip), aDefinition);
23   }
24
25   public boolean hasNext() {
26     return iterator.hasNext();
27   }
28
29   public Object next() {
30     return definition.makeEntityAdapter((Entity) iterator.next());
31   }
32
33   public void remove() {
34     iterator.remove();
35   }
36
37   public void rewind() {
38     iterator.rewind();
39   };
40 }