Package org.apache.lucene.queries.spans

# Class SpanPositionRangeQuery

java.lang.Object
org.apache.lucene.search.Query
org.apache.lucene.queries.spans.SpanQuery
org.apache.lucene.queries.spans.SpanPositionCheckQuery
org.apache.lucene.queries.spans.SpanPositionRangeQuery

All Implemented Interfaces:
  `Cloneable`

Direct Known Subclasses:
  `SpanFirstQuery`

public class SpanPositionRangeQuery extends SpanPositionCheckQuery
Checks to see if the `SpanPositionCheckQuery.getMatch()` lies between a start and end position

See `SpanFirstQuery` for a derivation that is optimized for the case where start position is 0.

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class org.apache.lucene.queries.spans.SpanPositionCheckQuery

  `SpanPositionCheckQuery.SpanPositionCheckWeight`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected int`
  `end`
  `protected int`
  `start`

  ### Fields inherited from class org.apache.lucene.queries.spans.SpanPositionCheckQuery

  `match`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `SpanPositionRangeQuery(SpanQuery match, int start, int end)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected FilterSpans.AcceptStatus`
  `acceptPosition(Spans spans)`
  Implementing classes are required to return whether the current position is a match for the passed in "match" `SpanQuery`.
  `boolean`
  `equals(Object o)`
  Returns true iff `other` is equal to this.
  `int`
  `getEnd()`
  `int`
  `getStart()`
  `int`
  `hashCode()`
  `String`
  `toString(String field)`

  ### Methods inherited from class org.apache.lucene.queries.spans.SpanPositionCheckQuery

  `createWeight, getField, getMatch, rewrite, visit`

  ### Methods inherited from class org.apache.lucene.queries.spans.SpanQuery

  `getTermStates, getTermStates`

  ### Methods inherited from class org.apache.lucene.search.Query

  `classHash, sameClassAs, toString`

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

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

- ## Field Details

  - ### start

    protected int start

  - ### end

    protected int end

- ## Constructor Details

  - ### SpanPositionRangeQuery

    public SpanPositionRangeQuery(SpanQuery match, int start, int end)

- ## Method Details

  - ### acceptPosition

    protected FilterSpans.AcceptStatus acceptPosition(Spans spans) throws IOException
    Description copied from class: `SpanPositionCheckQuery`
    Implementing classes are required to return whether the current position is a match for the passed in "match" `SpanQuery`.

    This is only called if the underlying last `Spans.nextStartPosition()` for the match indicated a valid start position.

    Specified by:
      `acceptPosition` in class `SpanPositionCheckQuery`
    Parameters:
      `spans` - The `Spans` instance, positioned at the spot to check
    Returns:
      whether the match is accepted, rejected, or rejected and should move to the next doc.
    Throws:
      `IOException`
    See Also:
      - `DocIdSetIterator.nextDoc()`

  - ### getStart

    public int getStart()
    Returns:
      The minimum position permitted in a match

  - ### getEnd

    public int getEnd()
    Returns:
      the maximum end position permitted in a match.

  - ### toString

    public String toString(String field)
    Specified by:
      `toString` in class `Query`

  - ### equals

    public boolean equals(Object o)
    Description copied from class: `SpanPositionCheckQuery`
    Returns true iff `other` is equal to this.
    Overrides:
      `equals` in class `SpanPositionCheckQuery`

  - ### hashCode

    public int hashCode()
    Overrides:
      `hashCode` in class `SpanPositionCheckQuery`