Class SingletonListIterator<E>

java.lang.Object
org.apache.commons.collections4.iterators.SingletonListIterator<E>
Type Parameters:
E - the type of elements returned by this iterator.
All Implemented Interfaces:
Iterator<E>, ListIterator<E>, OrderedIterator<E>, ResettableIterator<E>, ResettableListIterator<E>

public class SingletonListIterator<E> extends Object implements ResettableListIterator<E>
SingletonIterator is an ListIterator over a single object instance.
Since:
2.1
  • Constructor Details

    • SingletonListIterator

      public SingletonListIterator(E object)
      Constructs a new SingletonListIterator.
      Parameters:
      object - the single object to return from the iterator
  • Method Details

    • add

      public void add(E obj)
      Specified by:
      add in interface ListIterator<E>
      Parameters:
      obj - the object to add
      Throws:
      UnsupportedOperationException - always
    • hasNext

      public boolean hasNext()
      Is another object available from the iterator?

      This returns true if the single object hasn't been returned yet.

      Specified by:
      hasNext in interface Iterator<E>
      Specified by:
      hasNext in interface ListIterator<E>
      Returns:
      true if the single object hasn't been returned yet
    • hasPrevious

      public boolean hasPrevious()
      Is a previous object available from the iterator?

      This returns true if the single object has been returned.

      Specified by:
      hasPrevious in interface ListIterator<E>
      Specified by:
      hasPrevious in interface OrderedIterator<E>
      Returns:
      true if the single object has been returned
    • next

      public E next()
      Gets the next object from the iterator.

      This returns the single object if it hasn't been returned yet.

      Specified by:
      next in interface Iterator<E>
      Specified by:
      next in interface ListIterator<E>
      Returns:
      the single object
      Throws:
      NoSuchElementException - if the single object has already been returned
    • nextIndex

      public int nextIndex()
      Returns the index of the element that would be returned by a subsequent call to next.
      Specified by:
      nextIndex in interface ListIterator<E>
      Returns:
      0 or 1 depending on current state.
    • previous

      public E previous()
      Gets the previous object from the iterator.

      This returns the single object if it has been returned.

      Specified by:
      previous in interface ListIterator<E>
      Specified by:
      previous in interface OrderedIterator<E>
      Returns:
      the single object
      Throws:
      NoSuchElementException - if the single object has not already been returned
    • previousIndex

      public int previousIndex()
      Returns the index of the element that would be returned by a subsequent call to previous. A return value of -1 indicates that the iterator is currently at the start.
      Specified by:
      previousIndex in interface ListIterator<E>
      Returns:
      0 or -1 depending on current state.
    • remove

      public void remove()
      Remove the object from this iterator.
      Specified by:
      remove in interface Iterator<E>
      Specified by:
      remove in interface ListIterator<E>
      Throws:
      IllegalStateException - if the next or previous method has not yet been called, or the remove method has already been called after the last call to next or previous.
    • reset

      public void reset()
      Reset the iterator back to the start.
      Specified by:
      reset in interface ResettableIterator<E>
    • set

      public void set(E obj)
      Sets sets the value of the singleton.
      Specified by:
      set in interface ListIterator<E>
      Parameters:
      obj - the object to set
      Throws:
      IllegalStateException - if next has not been called or the object has been removed