1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.seasar.cubby.admin.servlet;
17
18 import java.util.Collection;
19 import java.util.Iterator;
20
21 class LoopingIterator<E> implements Iterator<E> {
22
23 private Collection<E> collection;
24
25 private Iterator<E> iterator;
26
27 public LoopingIterator(Collection<E> collection) {
28 assert collection != null;
29 this.collection = collection;
30 this.iterator = collection.iterator();
31 }
32
33 public boolean hasNext() {
34 return !collection.isEmpty();
35 }
36
37 public E next() {
38 if (!iterator.hasNext()) {
39 iterator = collection.iterator();
40 }
41 return iterator.next();
42 }
43
44 public void remove() {
45 iterator.remove();
46 }
47
48 }