Package org.eclipse.net4j.util.collection

# Class AbstractFilteredIterator<T>

java.lang.Object
org.eclipse.net4j.util.collection.AbstractIterator<T>
org.eclipse.net4j.util.collection.AbstractFilteredIterator<T>

All Implemented Interfaces:
  `Iterator<T>`

Direct Known Subclasses:
  `AbstractFilteredIterator.Predicated`, `LimitedIterator`, `PredicateIterator`

public abstract class AbstractFilteredIterator<T> extends AbstractIterator<T>
An abstract base class for custom iterators that `filter` the elements of a delegate iterator.

Since:
  3.3
Author:
  Eike Stepper

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static class`
`AbstractFilteredIterator.Predicated<T>`

## Field Summary

### Fields inherited from class org.eclipse.net4j.util.collection.AbstractIterator

`END_OF_DATA`

## Constructor Summary

Constructors
Constructor
Description
`AbstractFilteredIterator(Iterator<T> delegate)`

## Method Summary

Modifier and Type
Method
Description
`protected Object`
`computeNextElement()`
Returns the next iteration element, or `AbstractIterator.END_OF_DATA` if the end of the iteration has been reached.
`protected abstract boolean`
`isValid(T element)`
`void`
`remove()`

### Methods inherited from class org.eclipse.net4j.util.collection.AbstractIterator

`empty, hasNext, next`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface java.util.Iterator

`forEachRemaining`

## Constructor Details

### AbstractFilteredIterator

public AbstractFilteredIterator(Iterator<T> delegate)

## Method Details

### remove

public void remove()

Specified by:
  `remove` in interface `Iterator<T>`
Overrides:
  `remove` in class `AbstractIterator<T>`

### computeNextElement

protected Object computeNextElement()
Description copied from class: `AbstractIterator`
Returns the next iteration element, or `AbstractIterator.END_OF_DATA` if the end of the iteration has been reached.

Specified by:
  `computeNextElement` in class `AbstractIterator<T>`

### isValid

protected abstract boolean isValid(T element)