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

    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.SpanPayloadCheckQuery

All Implemented Interfaces:
  Serializable, Cloneable

    public class SpanPayloadCheckQuery

extends SpanPositionCheckQuery

Only return those matches that have a specific payload at the given position.

Do not use this with an SpanQuery that contains a `SpanNearQuery`. Instead, use `SpanNearPayloadCheckQuery` since it properly handles the fact that payloads aren't ordered by `SpanNearQuery`.

See Also:
  Serialized Form

Nested Class Summary

Nested classes/interfaces inherited from class org.apache.lucene.search.spans.SpanPositionCheckQuery
`SpanPositionCheckQuery.AcceptStatus, SpanPositionCheckQuery.PositionCheckSpan`

Field Summary
`protected Collection<byte[]>` `payloadToMatch`

Fields inherited from class org.apache.lucene.search.spans.SpanPositionCheckQuery
`match`

Constructor Summary
`SpanPayloadCheckQuery(SpanQuery match, Collection<byte[]> payloadToMatch)`

Method Summary
`protected SpanPositionCheckQuery.AcceptStatus` `acceptPosition(Spans spans)` Implementing classes are required to return whether the current position is a match for the passed in "match" `SpanQuery`.
`Object` `clone()` Returns a clone of this query.
`boolean` `equals(Object o)`
`int` `hashCode()`
`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
`extractTerms, getField, getMatch, getSpans, rewrite`

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

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

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

Field Detail

### payloadToMatch

    protected final Collection<byte[]> payloadToMatch

Constructor Detail

### SpanPayloadCheckQuery

    public SpanPayloadCheckQuery(SpanQuery match,
                                 Collection<byte[]> payloadToMatch)

Parameters:
  `match` - The underlying `SpanQuery` to check
  `payloadToMatch` - The `Collection` of payloads to match

Method Detail

### acceptPosition

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

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

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

  The representation used is one that is supposed to be readable by `QueryParser`. However, there are the following limitations:

  - If the query was created by the parser, the printed representation may not be exactly what was parsed. For example, characters that need to be escaped will be represented without the required backslash.
  - Some of the more complicated queries (e.g. span queries) don't have a representation that can be parsed by QueryParser.

  Specified by:
    `toString` in class `Query`

### clone

    public Object clone()

  Description copied from class: `Query`
  Returns a clone of this query.

  Overrides:
    `clone` in class `Query`

### equals

    public boolean equals(Object o)

  Overrides:
    `equals` in class `Query`

### hashCode

    public int hashCode()

  Overrides:
    `hashCode` in class `Query`