org.apache.lucene.search.spans

## Class SpanPositionRangeQuery

- java.lang.Object
- - org.apache.lucene.search.Query
  - - org.apache.lucene.search.spans.SpanQuery
    - - org.apache.lucene.search.spans.SpanPositionCheckQuery
      - - org.apache.lucene.search.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.search.spans.SpanPositionCheckQuery

`SpanPositionCheckQuery.SpanPositionCheckWeight`

### Field Summary

Fields
`protected int` `end`
`protected int` `start`

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

`match`

### Constructor Summary

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

### Method Summary

All Methods Instance Methods Concrete Methods
`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()` Override and implement query hash code properly in a subclass.
`String` `toString(String field)` Prints a query to a string, with `field` assumed to be the default field and omitted.

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

`createWeight, getField, getMatch, rewrite, visit`

### Methods inherited from class org.apache.lucene.search.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 Detail

#### start

    protected int start

#### end

    protected int end

### Constructor Detail

#### SpanPositionRangeQuery

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

### Method Detail

#### 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)

Description copied from class: `Query`
Prints a query to a string, with `field` assumed to be the default field and omitted.

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`
See Also:
  `Query.sameClassAs(Object)`, `Query.classHash()`

#### hashCode

    public int hashCode()

Description copied from class: `Query`
Override and implement query hash code properly in a subclass. This is required so that `QueryCache` works properly.

Overrides:
  `hashCode` in class `SpanPositionCheckQuery`
See Also:
  `Query.equals(Object)`