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:
    `java.util.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​(java.util.Iterator<T> delegate)` |

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected java.lang.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 Detail

    - #### AbstractFilteredIterator

          public AbstractFilteredIterator​(java.util.Iterator<T> delegate)

  - ### Method Detail

    - #### remove

          public void remove()

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

    - #### computeNextElement

          protected java.lang.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)