## org.apache.commons.collections.iterators
Class SingletonListIterator

    java.lang.Object
      org.apache.commons.collections.iterators.SingletonListIterator

All Implemented Interfaces:
  java.util.Iterator, java.util.ListIterator, ResettableIterator, ResettableListIterator

    public class SingletonListIterator

extends java.lang.Object
implements java.util.ListIterator, ResettableListIterator

`SingletonIterator` is an `ListIterator` over a single object instance.

Since:
  Commons Collections 2.1
Version:
  $Revision: 646777 $ $Date: 2008-04-10 13:33:15 +0100 (Thu, 10 Apr 2008) $
Author:
  Stephen Colebourne, Rodney Waldhoff

Constructor Summary
`SingletonListIterator(java.lang.Object object)` Constructs a new `SingletonListIterator`.

Method Summary
`void` `add(java.lang.Object obj)` Add always throws `UnsupportedOperationException`.
`boolean` `hasNext()` Is another object available from the iterator?
`boolean` `hasPrevious()` Is a previous object available from the iterator?
`java.lang.Object` `next()` Get the next object from the iterator.
`int` `nextIndex()` Returns the index of the element that would be returned by a subsequent call to `next`.
`java.lang.Object` `previous()` Get the previous object from the iterator.
`int` `previousIndex()` Returns the index of the element that would be returned by a subsequent call to `previous`.
`void` `remove()` Remove the object from this iterator.
`void` `reset()` Reset the iterator back to the start.
`void` `set(java.lang.Object obj)` Set sets the value of the singleton.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### SingletonListIterator

    public SingletonListIterator(java.lang.Object object)

  Constructs a new `SingletonListIterator`.

  Parameters:
    `object` - the single object to return from the iterator

Method Detail

### 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 `java.util.Iterator`
  Specified by:
    `hasNext` in interface `java.util.ListIterator`
  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 `java.util.ListIterator`
  Returns:
    true if the single object has 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 `java.util.ListIterator`
  Returns:
    0 or 1 depending on current state.

### 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 `java.util.ListIterator`
  Returns:
    0 or -1 depending on current state.

### next

    public java.lang.Object next()

  Get the next object from the iterator.

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

  Specified by:
    `next` in interface `java.util.Iterator`
  Specified by:
    `next` in interface `java.util.ListIterator`
  Returns:
    the single object
  Throws:
    `java.util.NoSuchElementException` - if the single object has already been returned

### previous

    public java.lang.Object previous()

  Get the previous object from the iterator.

  This returns the single object if it has been returned.

  Specified by:
    `previous` in interface `java.util.ListIterator`
  Returns:
    the single object
  Throws:
    `java.util.NoSuchElementException` - if the single object has not already been returned

### remove

    public void remove()

  Remove the object from this iterator.

  Specified by:
    `remove` in interface `java.util.Iterator`
  Specified by:
    `remove` in interface `java.util.ListIterator`
  Throws:
    `java.lang.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`.

### add

    public void add(java.lang.Object obj)

  Add always throws `UnsupportedOperationException`.

  Specified by:
    `add` in interface `java.util.ListIterator`
  Throws:
    `java.lang.UnsupportedOperationException` - always

### set

    public void set(java.lang.Object obj)

  Set sets the value of the singleton.

  Specified by:
    `set` in interface `java.util.ListIterator`
  Parameters:
    `obj` - the object to set
  Throws:
    `java.lang.IllegalStateException` - if `next` has not been called or the object has been removed

### reset

    public void reset()

  Reset the iterator back to the start.

  Specified by:
    `reset` in interface `ResettableIterator`
  Specified by:
    `reset` in interface `ResettableListIterator`

Copyright © 2001-2008 The Apache Software Foundation. All Rights Reserved.