JUtil

net.cscott.jutil
Class UnmodifiableListIterator<E>

java.lang.Object
  extended by net.cscott.jutil.UnmodifiableListIterator<E>
All Implemented Interfaces:
Iterator<E>, ListIterator<E>

public abstract class UnmodifiableListIterator<E>
extends Object
implements ListIterator<E>

UnmodifiableListIterator is an abstract superclass to save you the trouble of implementing the remove(), add(Object) and set(Object) methods over and over again for those list iterators which don't implement them. The name's a bit clunky, but fits with the JDK naming in Collections and such.

Version:
$Id: UnmodifiableListIterator.java,v 1.3 2006-10-30 20:14:41 cananian Exp $
Author:
C. Scott Ananian

Constructor Summary
UnmodifiableListIterator()
           
 
Method Summary
 void add(E o)
          Always throws an UnsupportedOperationException.
abstract  boolean hasNext()
          Returns true if the list iterator has more elements in the forward direction.
abstract  boolean hasPrevious()
          Returns true if the list iterator has more elements in the reverse direction.
abstract  E next()
          Returns the next element in the list.
abstract  int nextIndex()
          Returns the index of the element that would be returned by a subsequent call to next().
abstract  E previous()
          Returns the previous element in the list.
 int previousIndex()
          Returns the index of the element that would be returned by a subsequent call to previous().
 void remove()
          Always throws an UnsupportedOperationException.
 void set(E o)
          Always throws an UnsupportedOperationException.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

UnmodifiableListIterator

public UnmodifiableListIterator()
Method Detail

hasNext

public abstract boolean hasNext()
Returns true if the list iterator has more elements in the forward direction.

Specified by:
hasNext in interface Iterator<E>
Specified by:
hasNext in interface ListIterator<E>

next

public abstract E next()
Returns the next element in the list. This method may be called repeatedly to iterate through the list, or intermixed with calls to previous() to go back and forth. (Note that alternating calls to next() and previous() will return the same element repeatedly.)

Specified by:
next in interface Iterator<E>
Specified by:
next in interface ListIterator<E>
Throws:
NoSuchElementException - if the iteration has no next element.

hasPrevious

public abstract boolean hasPrevious()
Returns true if the list iterator has more elements in the reverse direction.

Specified by:
hasPrevious in interface ListIterator<E>

previous

public abstract E previous()
Returns the previous element in the list. This method may be called repeatedly to iterate through the list backwards, or intermixed with calls to next() to go back and forth. (Note that alternating calls to next() and previous() will return the same element repeatedly.)

Specified by:
previous in interface ListIterator<E>
Throws:
NoSuchElementException - if the iteration has no previous element.

nextIndex

public abstract int nextIndex()
Returns the index of the element that would be returned by a subsequent call to next(). (Returns list size if the list iterator is at the end of the list.)

Specified by:
nextIndex in interface ListIterator<E>

previousIndex

public int previousIndex()
Returns the index of the element that would be returned by a subsequent call to previous(). (Returns -1 if the list iterator is at the beginning of the list.)

Specified by:
previousIndex in interface ListIterator<E>

remove

public final void remove()
Always throws an UnsupportedOperationException.

Specified by:
remove in interface Iterator<E>
Specified by:
remove in interface ListIterator<E>
Throws:
UnsupportedOperationException - always.

set

public final void set(E o)
Always throws an UnsupportedOperationException.

Specified by:
set in interface ListIterator<E>
Throws:
UnsupportedOperationException - always.

add

public final void add(E o)
Always throws an UnsupportedOperationException.

Specified by:
add in interface ListIterator<E>
Throws:
UnsupportedOperationException - always.

JUtil

Copyright (c) 2006 C. Scott Ananian