# Class UnmodifiableListIterator<E>

java.lang.Object
org.apache.commons.collections4.iterators.UnmodifiableListIterator<E>

Type Parameters:
  `E` - the type of elements returned by this iterator.

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

public final class UnmodifiableListIterator<E> extends Object implements ListIterator<E>, Unmodifiable
Decorates a list iterator such that it cannot be modified.

Attempts to modify it will result in an UnsupportedOperationException.

Since:
  3.0

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `add(E obj)`
  `boolean`
  `hasNext()`
  `boolean`
  `hasPrevious()`
  `E`
  `next()`
  `int`
  `nextIndex()`
  `E`
  `previous()`
  `int`
  `previousIndex()`
  `void`
  `remove()`
  `void`
  `set(E ignored)`
  `static <E> ListIterator<E>`
  `umodifiableListIterator(ListIterator<? extends E> iterator)`
  Deprecated.
  method name has typo in it.
  `static <E> ListIterator<E>`
  `unmodifiableListIterator(ListIterator<? 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

  - ### umodifiableListIterator

    @Deprecated public static <E> ListIterator<E> umodifiableListIterator(ListIterator<? extends E> iterator)
    Deprecated.
    method name has typo in it. Use `unmodifiableListIterator(ListIterator)` instead.
    Decorates the specified iterator such that it cannot be modified.
    Type Parameters:
      `E` - the element type
    Parameters:
      `iterator` - the iterator to decorate
    Returns:
      a new unmodifiable list iterator
    Throws:
      `NullPointerException` - if the iterator is null

  - ### unmodifiableListIterator

    public static <E> ListIterator<E> unmodifiableListIterator(ListIterator<? extends E> iterator)
    Decorates the specified iterator such that it cannot be modified.
    Type Parameters:
      `E` - the element type
    Parameters:
      `iterator` - the iterator to decorate
    Returns:
      a new unmodifiable list iterator
    Throws:
      `NullPointerException` - if the iterator is null

  - ### add

    public void add(E obj)
    Specified by:
      `add` in interface `ListIterator<E>`

  - ### hasNext

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

  - ### hasPrevious

    public boolean hasPrevious()
    Specified by:
      `hasPrevious` in interface `ListIterator<E>`

  - ### next

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

  - ### nextIndex

    public int nextIndex()
    Specified by:
      `nextIndex` in interface `ListIterator<E>`

  - ### previous

    public E previous()
    Specified by:
      `previous` in interface `ListIterator<E>`

  - ### previousIndex

    public int previousIndex()
    Specified by:
      `previousIndex` in interface `ListIterator<E>`

  - ### remove

    public void remove()
    Specified by:
      `remove` in interface `Iterator<E>`
    Specified by:
      `remove` in interface `ListIterator<E>`

  - ### set

    public void set(E ignored)
    Specified by:
      `set` in interface `ListIterator<E>`