org.apache.lucene.queries.intervals

## Class IntervalFilter

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

-     public abstract class IntervalFilter
      extends IntervalIterator

  Wraps an `IntervalIterator` and passes through those intervals that match the `accept()` function

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected IntervalIterator` | `in`

    - ### Fields inherited from class org.apache.lucene.queries.intervals.IntervalIterator

      `NO_MORE_INTERVALS`

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

      `NO_MORE_DOCS`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `IntervalFilter(IntervalIterator in)` Create a new filter

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected abstract boolean` | `accept()`
    `int` | `advance(int target)`
    `long` | `cost()`
    `int` | `docID()`
    `int` | `end()` The end of the current interval Returns -1 if `IntervalIterator.nextInterval()` has not yet been called and `IntervalIterator.NO_MORE_INTERVALS` once the iterator is exhausted.
    `int` | `gaps()` The number of gaps within the current interval Note that this returns the number of gaps between the immediate sub-intervals of this interval, and does not include the gaps inside those sub-intervals.
    `float` | `matchCost()` An indication of the average cost of iterating over all intervals in a document
    `int` | `nextDoc()`
    `int` | `nextInterval()` Advance the iterator to the next interval
    `int` | `start()` The start of the current interval Returns -1 if `IntervalIterator.nextInterval()` has not yet been called and `IntervalIterator.NO_MORE_INTERVALS` once the iterator is exhausted.

    - ### Methods inherited from class org.apache.lucene.queries.intervals.IntervalIterator

      `toString, width`

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

      `all, empty, range, slowAdvance`

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

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

- - ### Field Detail

    - #### in

          protected final IntervalIterator in

  - ### Constructor Detail

    - #### IntervalFilter

          public IntervalFilter(IntervalIterator in)

      Create a new filter

  - ### Method Detail

    - #### docID

          public int docID()

      Specified by:
        `docID` in class `DocIdSetIterator`

    - #### nextDoc

          public int nextDoc()
                      throws IOException

      Specified by:
        `nextDoc` in class `DocIdSetIterator`
      Throws:
        `IOException`

    - #### advance

          public int advance(int target)
                      throws IOException

      Specified by:
        `advance` in class `DocIdSetIterator`
      Throws:
        `IOException`

    - #### cost

          public long cost()

      Specified by:
        `cost` in class `DocIdSetIterator`

    - #### start

          public int start()

      Description copied from class: `IntervalIterator`
      The start of the current interval Returns -1 if `IntervalIterator.nextInterval()` has not yet been called and `IntervalIterator.NO_MORE_INTERVALS` once the iterator is exhausted.
      Specified by:
        `start` in class `IntervalIterator`

    - #### end

          public int end()

      Description copied from class: `IntervalIterator`
      The end of the current interval Returns -1 if `IntervalIterator.nextInterval()` has not yet been called and `IntervalIterator.NO_MORE_INTERVALS` once the iterator is exhausted.
      Specified by:
        `end` in class `IntervalIterator`

    - #### gaps

          public int gaps()

      Description copied from class: `IntervalIterator`
      The number of gaps within the current interval Note that this returns the number of gaps between the immediate sub-intervals of this interval, and does not include the gaps inside those sub-intervals. Should not be called before `IntervalIterator.nextInterval()`, or after it has returned `IntervalIterator.NO_MORE_INTERVALS`
      Specified by:
        `gaps` in class `IntervalIterator`

    - #### matchCost

          public float matchCost()

      Description copied from class: `IntervalIterator`
      An indication of the average cost of iterating over all intervals in a document
      Specified by:
        `matchCost` in class `IntervalIterator`
      See Also:
        `TwoPhaseIterator.matchCost()`

    - #### accept

          protected abstract boolean accept()

      Returns:
        `true` if the wrapped iterator's interval should be passed on

    - #### nextInterval

          public final int nextInterval()
                                 throws IOException

      Description copied from class: `IntervalIterator`
      Advance the iterator to the next interval
      Specified by:
        `nextInterval` in class `IntervalIterator`
      Returns:
        the start of the next interval, or `IntervalIterator.NO_MORE_INTERVALS` if there are no more intervals on the current document
      Throws:
        `IOException`

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