## 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)` Creates a new sorted wrapper, using `BytesRef.getUTF8SortedAsUnicodeComparator()` for sorting.
`SortedTermFreqIteratorWrapper(TermFreqIterator source, Comparator<BytesRef> comparator)` Creates a new sorted wrapper, sorting by BytesRef (ascending) then cost (ascending).

Method Summary
`protected long` `decode(BytesRef scratch, ByteArrayDataInput tmpInput)` decodes the weight at the current position
`protected void` `encode(Sort.ByteSequencesWriter writer, ByteArrayDataOutput output, byte[] buffer, BytesRef spare, long weight)` encodes an entry (bytes+weight) to the provided writer
`Comparator<BytesRef>` `getComparator()`
`BytesRef` `next()`
`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`

Constructor Detail

### SortedTermFreqIteratorWrapper

    public SortedTermFreqIteratorWrapper(TermFreqIterator source)
                                  throws IOException

  Creates a new sorted wrapper, using `BytesRef.getUTF8SortedAsUnicodeComparator()` for sorting.

  Throws:
    `IOException`

### SortedTermFreqIteratorWrapper

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

  Creates a new sorted wrapper, sorting by BytesRef (ascending) then cost (ascending).

  Throws:
    `IOException`

Method Detail

### getComparator

    public Comparator<BytesRef> getComparator()

  Specified by:
    `getComparator` in interface `BytesRefIterator`

### next

    public BytesRef next()
                  throws IOException

  Specified by:
    `next` in interface `BytesRefIterator`
  Throws:
    `IOException`

### weight

    public long weight()

  Description copied from interface: `TermFreqIterator`
  A term's weight, higher numbers mean better suggestions.

  Specified by:
    `weight` in interface `TermFreqIterator`

### encode

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

  encodes an entry (bytes+weight) to the provided writer

  Throws:
    `IOException`

### decode

    protected long decode(BytesRef scratch,
                          ByteArrayDataInput tmpInput)

  decodes the weight at the current position

Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.