import java.util.Iterator;
import java.util.NoSuchElementException;
-
-public class FilteredIterator<E>
- implements Iterator<E>
+public class FilteredIterator<E> implements Iterator<E>
{
- Iterator<E> base_;
- Filter<E> filter_;
- E next_;
- boolean hasNext_ = true;
-
- public FilteredIterator(Iterator<E> base, Filter<E> filter)
- {
- base_ = base;
- filter_ = filter;
- advance();
- }
-
- public E next()
- {
- if (hasNext_) {
- E rv = next_;
- advance();
- return rv;
- }
- else
- throw new NoSuchElementException();
- }
-
- public boolean hasNext()
- {
- return hasNext_;
- }
-
- public void remove()
- {
- throw new UnsupportedOperationException();
- }
-
- void advance()
- {
- while (base_.hasNext()) {
- next_ = base_.next();
- if (filter_.match(next_))
- return;
- }
- hasNext_ = false;
- next_ = null;
- }
+ Iterator<E> base_;
+ Filter<E> filter_;
+ E next_;
+ boolean hasNext_ = true;
+
+ public FilteredIterator(Iterator<E> base, Filter<E> filter)
+ {
+ base_ = base;
+ filter_ = filter;
+ advance();
+ }
+
+ public E next()
+ {
+ if (hasNext_) {
+ E rv = next_;
+ advance();
+ return rv;
+ }
+ else throw new NoSuchElementException();
+ }
+
+ public boolean hasNext()
+ {
+ return hasNext_;
+ }
+
+ public void remove()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ void advance()
+ {
+ while (base_.hasNext()) {
+ next_ = base_.next();
+ if (filter_.match(next_)) return;
+ }
+ hasNext_ = false;
+ next_ = null;
+ }
}