org.crosswire.jsword.passage

## Class RangedPassage.VerseRangeIterator

- java.lang.Object
- - org.crosswire.jsword.passage.RangedPassage.VerseRangeIterator

- All Implemented Interfaces:
    Iterator<VerseRange>
  Enclosing class:
    RangedPassage

      private static final class RangedPassage.VerseRangeIterator
      extends Object
      implements Iterator<VerseRange>

  Loop over the VerseRanges and check that they do not require digging into

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private VerseRange` | `next` What are we going to reply with next?
    `private Iterator<VerseRange>` | `real` Where we read our base ranges from
    `private RestrictionType` | `restrict` Where do we break ranges

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `RangedPassage.VerseRangeIterator(Iterator<VerseRange> it, RestrictionType restrict)` Simple ctor

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `hasNext()`
    `VerseRange` | `next()`
    `void` | `remove()`
    `private VerseRange` | `replyNext()` The next object is correct, use that one
    `private VerseRange` | `splitNext()` The next object is too big, so cut it up

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### next

          private VerseRange next

      What are we going to reply with next?

    - #### restrict

          private RestrictionType restrict

      Where do we break ranges

    - #### real

          private Iterator<VerseRange> real

      Where we read our base ranges from

  - ### Constructor Detail

    - #### RangedPassage.VerseRangeIterator

          protected RangedPassage.VerseRangeIterator(Iterator<VerseRange> it,
                                          RestrictionType restrict)

      Simple ctor
      Parameters:
        `it` -
        `restrict` -

  - ### Method Detail

    - #### remove

          public void remove()

      Specified by:
        `remove` in interface `Iterator<VerseRange>`

    - #### hasNext

          public boolean hasNext()

      Specified by:
        `hasNext` in interface `Iterator<VerseRange>`

    - #### next

          public VerseRange next()

      Specified by:
        `next` in interface `Iterator<VerseRange>`

    - #### replyNext

          private VerseRange replyNext()

      The next object is correct, use that one

    - #### splitNext

          private VerseRange splitNext()

      The next object is too big, so cut it up