org.apache.lucene.search.intervals

## Class IntervalIterator

- java.lang.Object
- - org.apache.lucene.search.DocIdSetIterator
  - - org.apache.lucene.search.intervals.IntervalIterator

- Direct Known Subclasses:
    IntervalFilter

      public abstract class IntervalIterator
      extends DocIdSetIterator

  A `DocIdSetIterator` that also allows iteration over matching intervals in a document. Once the iterator is positioned on a document by calling `DocIdSetIterator.advance(int)` or `DocIdSetIterator.nextDoc()`, intervals may be retrieved by calling `nextInterval()` until `NO_MORE_INTERVALS` is returned. The limits of the current interval are returned by `start()` and `end()`. When the iterator has been moved to a new document, but before `nextInterval()` has been called, both these methods return `-1`. Note that it is possible for a document to return `NO_MORE_INTERVALS` on the first call to `nextInterval()`

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `NO_MORE_INTERVALS` When returned from `nextInterval()`, indicates that there are no more matching intervals on the current document

    - ### Fields inherited from class org.apache.lucene.search.DocIdSetIterator

      `NO_MORE_DOCS`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `IntervalIterator()`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `abstract int` | `end()` The end of the current interval Returns -1 if `nextInterval()` has not yet been called
    `abstract float` | `matchCost()` An indication of the average cost of iterating over all intervals in a document
    `abstract int` | `nextInterval()` Advance the iterator to the next interval
    `abstract int` | `start()` The start of the current interval Returns -1 if `nextInterval()` has not yet been called

    - ### Methods inherited from class org.apache.lucene.search.DocIdSetIterator

      `advance, all, cost, docID, empty, nextDoc, slowAdvance`

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

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

- - ### Field Detail

    - #### NO_MORE_INTERVALS

          public static final int NO_MORE_INTERVALS

      When returned from `nextInterval()`, indicates that there are no more matching intervals on the current document
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### IntervalIterator

          public IntervalIterator()

  - ### Method Detail

    - #### start

          public abstract int start()

      The start of the current interval Returns -1 if `nextInterval()` has not yet been called

    - #### end

          public abstract int end()

      The end of the current interval Returns -1 if `nextInterval()` has not yet been called

    - #### nextInterval

          public abstract int nextInterval()
                                    throws IOException

      Advance the iterator to the next interval
      Returns:
        the start of the next interval, or `NO_MORE_INTERVALS` if there are no more intervals on the current document
      Throws:
        `IOException`

    - #### matchCost

          public abstract float matchCost()

      An indication of the average cost of iterating over all intervals in a document
      See Also:
        `TwoPhaseIterator.matchCost()`

Copyright © 2000-2018 Apache Software Foundation. All Rights Reserved.