BufferedInputIterator (Lucene 10.5.0 suggest API)
Description: declaration: package: org.apache.lucene.search.suggest, class: BufferedInputIterator

Package org.apache.lucene.search.suggest

# Class BufferedInputIterator

java.lang.Object
org.apache.lucene.search.suggest.BufferedInputIterator

All Implemented Interfaces:
  `InputIterator`, `BytesRefIterator`

Direct Known Subclasses:
  `UnsortedInputIterator`

public class BufferedInputIterator extends Object implements InputIterator
This wrapper buffers incoming elements.

WARNING: This API is experimental and might change in incompatible ways in the next release.

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from interface org.apache.lucene.search.suggest.InputIterator

  `InputIterator.InputIteratorWrapper`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected List<Set<BytesRef>>`
  `contextSets`
  buffered context set entries
  `protected int`
  `curPos`
  current buffer position
  `protected BytesRefArray`
  `entries`
  buffered term entries
  `protected long[]`
  `freqs`
  buffered weights, parallel with `entries`
  `protected BytesRefArray`
  `payloads`
  buffered payload entries

  ### Fields inherited from interface org.apache.lucene.search.suggest.InputIterator

  `EMPTY`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `BufferedInputIterator(InputIterator source)`
  Creates a new iterator, buffering entries from the specified iterator

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Set<BytesRef>`
  `contexts()`
  A term's contexts context can be used to filter suggestions.
  `boolean`
  `hasContexts()`
  Returns true if the iterator has contexts
  `boolean`
  `hasPayloads()`
  Returns true if the iterator has payloads
  `BytesRef`
  `next()`
  `BytesRef`
  `payload()`
  An arbitrary byte[] to record per suggestion.
  `long`
  `weight()`
  A term's weight, higher numbers mean better suggestions.

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

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

- ## Field Details

  - ### entries

    protected BytesRefArray entries
    buffered term entries

  - ### payloads

    protected BytesRefArray payloads
    buffered payload entries

  - ### contextSets

    protected List<Set<BytesRef>> contextSets
    buffered context set entries

  - ### curPos

    protected int curPos
    current buffer position

  - ### freqs

    protected long[] freqs
    buffered weights, parallel with `entries`

- ## Constructor Details

  - ### BufferedInputIterator

    public BufferedInputIterator(InputIterator source) throws IOException
    Creates a new iterator, buffering entries from the specified iterator
    Throws:
      `IOException`

- ## Method Details

  - ### weight

    public long weight()
    Description copied from interface: `InputIterator`
    A term's weight, higher numbers mean better suggestions.
    Specified by:
      `weight` in interface `InputIterator`

  - ### next

    public BytesRef next() throws IOException
    Specified by:
      `next` in interface `BytesRefIterator`
    Throws:
      `IOException`

  - ### payload

    public BytesRef payload()
    Description copied from interface: `InputIterator`
    An arbitrary byte[] to record per suggestion. See `Lookup.LookupResult.payload` to retrieve the payload for each suggestion.
    Specified by:
      `payload` in interface `InputIterator`

  - ### hasPayloads

    public boolean hasPayloads()
    Description copied from interface: `InputIterator`
    Returns true if the iterator has payloads
    Specified by:
      `hasPayloads` in interface `InputIterator`

  - ### contexts

    public Set<BytesRef> contexts()
    Description copied from interface: `InputIterator`
    A term's contexts context can be used to filter suggestions. May return null, if suggest entries do not have any context
    Specified by:
      `contexts` in interface `InputIterator`

  - ### hasContexts

    public boolean hasContexts()
    Description copied from interface: `InputIterator`
    Returns true if the iterator has contexts
    Specified by:
      `hasContexts` in interface `InputIterator`