Package org.apache.lucene.sandbox.search

# Class PhraseWildcardQuery.PhraseTerm

java.lang.Object
org.apache.lucene.sandbox.search.PhraseWildcardQuery.PhraseTerm

Direct Known Subclasses:
  `PhraseWildcardQuery.MultiTerm`, `PhraseWildcardQuery.SingleTerm`

Enclosing class:
  `PhraseWildcardQuery`

protected abstract static class PhraseWildcardQuery.PhraseTerm extends Object
All `PhraseWildcardQuery.PhraseTerm` are light and immutable. They do not hold query processing data such as `PhraseWildcardQuery.TermsData`. That way, the `PhraseWildcardQuery` is immutable and light itself and can be used safely as a key of the query cache.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected final int`
  `termPosition`

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `PhraseTerm(int termPosition)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected abstract int`
  `collectTermData(PhraseWildcardQuery query, IndexSearcher searcher, List<LeafReaderContext> segments, int remainingMultiTerms, int maxExpansionsForTerm, PhraseWildcardQuery.TermsData termsData)`
  Collects `TermState` and `TermStatistics` for the term (potentially expanded).
  `protected int`
  `collectTermData(PhraseWildcardQuery query, IndexSearcher searcher, List<LeafReaderContext> segments, PhraseWildcardQuery.TermsData termsData)`
  Collects `TermState` and `TermStatistics` for the term without expansion.
  `abstract boolean`
  `equals(Object o)`
  `protected abstract Query`
  `getQuery()`
  `protected abstract boolean`
  `hasExpansions()`
  `abstract int`
  `hashCode()`
  `protected abstract void`
  `toString(StringBuilder builder)`

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

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

- ## Field Details

  - ### termPosition

    protected final int termPosition

- ## Constructor Details

  - ### PhraseTerm

    protected PhraseTerm(int termPosition)

- ## Method Details

  - ### hasExpansions

    protected abstract boolean hasExpansions()

  - ### getQuery

    protected abstract Query getQuery()

  - ### collectTermData

    protected int collectTermData(PhraseWildcardQuery query, IndexSearcher searcher, List<LeafReaderContext> segments, PhraseWildcardQuery.TermsData termsData) throws IOException
    Collects `TermState` and `TermStatistics` for the term without expansion. It must be called only if `hasExpansions()` returns false. Simplified version of `#collectTermData(PhraseWildcardQuery, IndexSearcher, List, int, int, TermsData)` with less arguments. This method throws `UnsupportedOperationException` if not overridden.
    Throws:
      `IOException`

  - ### collectTermData

    protected abstract int collectTermData(PhraseWildcardQuery query, IndexSearcher searcher, List<LeafReaderContext> segments, int remainingMultiTerms, int maxExpansionsForTerm, PhraseWildcardQuery.TermsData termsData) throws IOException
    Collects `TermState` and `TermStatistics` for the term (potentially expanded).
    Parameters:
      `termsData` - `PhraseWildcardQuery.TermsData` to update with the collected terms and stats.
    Returns:
      The number of expansions or matches in all segments; or 0 if this term does not match in any segment, in this case the phrase query can immediately stop.
    Throws:
      `IOException`

  - ### toString

    protected abstract void toString(StringBuilder builder)

  - ### equals

    public abstract boolean equals(Object o)
    Overrides:
      `equals` in class `Object`

  - ### hashCode

    public abstract int hashCode()
    Overrides:
      `hashCode` in class `Object`