Package org.apache.lucene.queries.spans

# Class SpanPositionCheckQuery

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

All Implemented Interfaces:
  `Cloneable`

Direct Known Subclasses:
  `SpanPositionRangeQuery`

public abstract class SpanPositionCheckQuery extends SpanQuery implements Cloneable
Base class for filtering a SpanQuery based on the position of a match.

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`class`
`SpanPositionCheckQuery.SpanPositionCheckWeight`
Creates SpanPositionCheckQuery scorer instances

## Field Summary

Fields
Modifier and Type
Field
Description
`protected SpanQuery`
`match`

## Constructor Summary

Constructors
Constructor
Description
`SpanPositionCheckQuery(SpanQuery match)`

## Method Summary

Modifier and Type
Method
Description
`protected abstract FilterSpans.AcceptStatus`
`acceptPosition(Spans spans)`
Implementing classes are required to return whether the current position is a match for the passed in "match" `SpanQuery`.
`SpanWeight`
`createWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost)`
`boolean`
`equals(Object other)`
Returns true iff `other` is equal to this.
`String`
`getField()`
Returns the name of the field matched by this query.
`SpanQuery`
`getMatch()`
`int`
`hashCode()`
`Query`
`rewrite(IndexSearcher indexSearcher)`
`void`
`visit(QueryVisitor visitor)`

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

`getTermStates, getTermStates`

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

`classHash, sameClassAs, toString, toString`

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

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

## Field Details

### match

protected SpanQuery match

## Constructor Details

### SpanPositionCheckQuery

public SpanPositionCheckQuery(SpanQuery match)

## Method Details

### getMatch

public SpanQuery getMatch()

Returns:
  the SpanQuery whose matches are filtered.

### getField

public String getField()
Description copied from class: `SpanQuery`
Returns the name of the field matched by this query.

Specified by:
  `getField` in class `SpanQuery`

### acceptPosition

protected abstract FilterSpans.AcceptStatus acceptPosition(Spans spans) throws IOException
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.

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()`

### createWeight

public SpanWeight createWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost) throws IOException

Specified by:
  `createWeight` in class `SpanQuery`
Throws:
  `IOException`

### rewrite

public Query rewrite(IndexSearcher indexSearcher) throws IOException

Overrides:
  `rewrite` in class `Query`
Throws:
  `IOException`

### visit

public void visit(QueryVisitor visitor)

Specified by:
  `visit` in class `Query`

### equals

public boolean equals(Object other)
Returns true iff `other` is equal to this.

Specified by:
  `equals` in class `Query`

### hashCode

public int hashCode()

Specified by:
  `hashCode` in class `Query`