Package org.apache.commons.collections4.iterators

# Class UnmodifiableIterator<E,T extends Iterator<? extends E>>

java.lang.Object
org.apache.commons.collections4.iterators.UnmodifiableIterator<E,T>

Type Parameters:
  `E` - The type of elements returned by this iterator.
  `T` - The wrapped Iterator type.

All Implemented Interfaces:
  `Iterator<E>`, `Unmodifiable`

public final class UnmodifiableIterator<E,T extends Iterator<? extends E>> extends Object implements Iterator<E>, Unmodifiable
Decorates an iterator such that it cannot be modified.

Calling `remove()` throws `UnsupportedOperationException`.

Since:
  3.0

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `hasNext()`
  `E`
  `next()`
  `void`
  `remove()`
  Always throws `UnsupportedOperationException`.
  `static <E> Iterator<E>`
  `unmodifiableIterator(Iterator<? extends E> iterator)`
  Decorates the specified iterator such that it cannot be modified.

  ### 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`

- ## Method Details

  - ### unmodifiableIterator

    public static <E> Iterator<E> unmodifiableIterator(Iterator<? extends E> iterator)
    Decorates the specified iterator such that it cannot be modified.

    If the iterator is already unmodifiable it is returned directly.

    Type Parameters:
      `E` - the element type
    Parameters:
      `iterator` - The iterator to decorate
    Returns:
      A new unmodifiable iterator
    Throws:
      `NullPointerException` - if the iterator is null

  - ### hasNext

    public boolean hasNext()
    Specified by:
      `hasNext` in interface `Iterator<E>`

  - ### next

    public E next()
    Specified by:
      `next` in interface `Iterator<E>`

  - ### remove

    public void remove()
    Always throws `UnsupportedOperationException`.
    Specified by:
      `remove` in interface `Iterator<E>`
    Throws:
      `UnsupportedOperationException` - Always thrown.