## org.apache.lucene.search.suggest
Class SortedTermFreqIteratorWrapper

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

All Implemented Interfaces:
  TermFreqIterator, BytesRefIterator

    public class SortedTermFreqIteratorWrapper

extends Object
implements TermFreqIterator

This wrapper buffers incoming elements and makes sure they are sorted based on given comparator.

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.spell.TermFreqIterator
`TermFreqIterator.TermFreqIteratorWrapper`

Field Summary

Fields inherited from interface org.apache.lucene.util.BytesRefIterator
`EMPTY`

Constructor Summary
`SortedTermFreqIteratorWrapper(TermFreqIterator source, Comparator<BytesRef> comparator)`
`SortedTermFreqIteratorWrapper(TermFreqIterator source, Comparator<BytesRef> comparator, boolean compareRawBytes)`

Method Summary
`protected long` `decode(BytesRef scratch, ByteArrayDataInput tmpInput)`
`protected void` `encode(Sort.ByteSequencesWriter writer, ByteArrayDataOutput output, byte[] buffer, BytesRef spare, long weight)`
`Comparator<BytesRef>` `getComparator()` Return the `BytesRef` Comparator used to sort terms provided by the iterator.
`BytesRef` `next()` Increments the iteration to the next `BytesRef` in the iterator.
`long` `weight()`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### SortedTermFreqIteratorWrapper

    public SortedTermFreqIteratorWrapper(TermFreqIterator source,
                                         Comparator<BytesRef> comparator)
                                  throws IOException

Throws:
  `IOException`

### SortedTermFreqIteratorWrapper

    public SortedTermFreqIteratorWrapper(TermFreqIterator source,
                                         Comparator<BytesRef> comparator,
                                         boolean compareRawBytes)
                                  throws IOException

Throws:
  `IOException`

Method Detail

### next

    public BytesRef next()
                  throws IOException

  Description copied from interface: `BytesRefIterator`
  Increments the iteration to the next `BytesRef` in the iterator. Returns the resulting `BytesRef` or `null` if the end of the iterator is reached. The returned BytesRef may be re-used across calls to next. After this method returns null, do not call it again: the results are undefined.

  Specified by:
    `next` in interface `BytesRefIterator`
  Returns:
    the next `BytesRef` in the iterator or `null` if the end of the iterator is reached.
  Throws:
    `IOException`

### getComparator

    public Comparator<BytesRef> getComparator()

  Description copied from interface: `BytesRefIterator`
  Return the `BytesRef` Comparator used to sort terms provided by the iterator. This may return null if there are no items or the iterator is not sorted. Callers may invoke this method many times, so it's best to cache a single instance & reuse it.

  Specified by:
    `getComparator` in interface `BytesRefIterator`

### weight

    public long weight()

  Specified by:
    `weight` in interface `TermFreqIterator`

### encode

    protected void encode(Sort.ByteSequencesWriter writer,
                          ByteArrayDataOutput output,
                          byte[] buffer,
                          BytesRef spare,
                          long weight)
                   throws IOException

  Throws:
    `IOException`

### decode

    protected long decode(BytesRef scratch,
                          ByteArrayDataInput tmpInput)