yet another rewrite of the producers...
[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 boolean hasNext() {
22     return iterator.hasNext();
23   }
24
25   public Object next() {
26     return definition.makeEntityAdapter((Entity) iterator.next());
27   }
28
29   public void remove() {
30     iterator.remove();
31   }
32
33   public void rewind() {
34     iterator.rewind();
35   };
36 }