com.evanmclean.evlib.util
Class UnmodifiableListIterator<E>

java.lang.Object
  extended by com.evanmclean.evlib.util.UnmodifiableListIterator<E>
Type Parameters:
E -
All Implemented Interfaces:
Iterator<E>, ListIterator<E>

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

Wrapper around an List or an ListIterator that makes a list iterator that will throw an UnsupportedOperationException if add(Object), remove() or set(Object) is called.

Author:
Evan McLean McLean Computer Services (see the overview for copyright and licensing.)

Constructor Summary
UnmodifiableListIterator(List<? extends E> list)
           
UnmodifiableListIterator(ListIterator<? extends E> iterator)
           
 
Method Summary
 void add(E obj)
           
static
<E> UnmodifiableListIterator<E>
create(List<? extends E> list)
           
static
<E> UnmodifiableListIterator<E>
create(ListIterator<? extends E> iterator)
           
 boolean hasNext()
           
 boolean hasPrevious()
           
 E next()
           
 int nextIndex()
           
 E previous()
           
 int previousIndex()
           
 void remove()
           
 void set(E obj)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

UnmodifiableListIterator

public UnmodifiableListIterator(List<? extends E> list)

UnmodifiableListIterator

public UnmodifiableListIterator(ListIterator<? extends E> iterator)
Method Detail

create

public static <E> UnmodifiableListIterator<E> create(List<? extends E> list)

create

public static <E> UnmodifiableListIterator<E> create(ListIterator<? extends E> iterator)

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 obj)
Specified by:
set in interface ListIterator<E>