org.crosswire.jsword.passage
Class RangedPassage.VerseIterator

java.lang.Object
  extended by org.crosswire.jsword.passage.RangedPassage.VerseIterator
All Implemented Interfaces:
Iterator
Enclosing class:
RangedPassage

private static final class RangedPassage.VerseIterator
extends Object
implements Iterator

This class is here to prevent users of RangedPassage.iterator() from altering the underlying store and getting us out of sync. Right now there are no issues with someone else removing a RangedPassage without telling us, however there may be some day, and I'm not sure that we need the functionality right now. Also buy using this we get to ensure synchronization. Everything is final so to save the proxying performace hit.


Field Summary
private  Iterator real
          The Iterator that we are proxying to
 
Constructor Summary
RangedPassage.VerseIterator(Iterator it)
          Create a basic iterator that is a proxy for the RangedPassage Passages iterator, with remove() overridden.
 
Method Summary
 boolean hasNext()
           
 Object next()
           
 void remove()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

real

private Iterator real
The Iterator that we are proxying to

Constructor Detail

RangedPassage.VerseIterator

public RangedPassage.VerseIterator(Iterator it)
Create a basic iterator that is a proxy for the RangedPassage Passages iterator, with remove() overridden.

Method Detail

hasNext

public final boolean hasNext()
Specified by:
hasNext in interface Iterator

next

public final Object next()
                  throws NoSuchElementException
Specified by:
next in interface Iterator
Throws:
NoSuchElementException

remove

public void remove()
            throws UnsupportedOperationException
Specified by:
remove in interface Iterator
Throws:
UnsupportedOperationException

Copyright ? 2003-2004