## org.apache.lucene.search.spans
Class SpanPositionCheckQuery

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

All Implemented Interfaces:
  Serializable, Cloneable

Direct Known Subclasses:
  SpanNearPayloadCheckQuery, SpanPayloadCheckQuery, SpanPositionRangeQuery

    public abstract class SpanPositionCheckQuery

extends SpanQuery
implements Cloneable

Base class for filtering a SpanQuery based on the position of a match.

See Also:
  Serialized Form

Nested Class Summary
`protected static class` `SpanPositionCheckQuery.AcceptStatus` Return value if the match should be accepted `YES`, rejected `NO`, or rejected and enumeration should advance to the next document `NO_AND_ADVANCE`.
`protected class` `SpanPositionCheckQuery.PositionCheckSpan`

Field Summary
`protected SpanQuery` `match`

Constructor Summary
`SpanPositionCheckQuery(SpanQuery match)`

Method Summary
`protected abstract SpanPositionCheckQuery.AcceptStatus` `acceptPosition(Spans spans)` Implementing classes are required to return whether the current position is a match for the passed in "match" `SpanQuery`.
`void` `extractTerms(Set<Term> terms)` Expert: adds all terms occurring in this query to the terms set.
`String` `getField()` Returns the name of the field matched by this query.
`SpanQuery` `getMatch()`
`Spans` `getSpans(IndexReader reader)` Expert: Returns the matches for this query in an index.
`Query` `rewrite(IndexReader reader)` Expert: called to re-write queries into primitive queries.

Methods inherited from class org.apache.lucene.search.spans.SpanQuery
`createWeight`

Methods inherited from class org.apache.lucene.search.Query
`clone, combine, equals, getBoost, getSimilarity, hashCode, mergeBooleanQueries, setBoost, toString, toString, weight`

Methods inherited from class java.lang.Object
`finalize, getClass, notify, notifyAll, wait, wait, wait`

Field Detail

### match

    protected SpanQuery match

Constructor Detail

### SpanPositionCheckQuery

    public SpanPositionCheckQuery(SpanQuery match)

Method Detail

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

### extractTerms

    public void extractTerms(Set<Term> terms)

  Description copied from class: `Query`
  Expert: adds all terms occurring in this query to the terms set. Only works if this query is in its `rewritten` form.

  Overrides:
    `extractTerms` in class `Query`

### acceptPosition

    protected abstract SpanPositionCheckQuery.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 `Spans.next()` for the match is successful

  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:
    `Spans.next()`

### getSpans

    public Spans getSpans(IndexReader reader)
                   throws IOException

  Description copied from class: `SpanQuery`
  Expert: Returns the matches for this query in an index. Used internally to search for spans.

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

### rewrite

    public Query rewrite(IndexReader reader)
                  throws IOException

  Description copied from class: `Query`
  Expert: called to re-write queries into primitive queries. For example, a PrefixQuery will be rewritten into a BooleanQuery that consists of TermQuerys.

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