Class SortedInputIterator

  • All Implemented Interfaces:
    InputIterator, BytesRefIterator

    public class SortedInputIterator
    extends java.lang.Object
    implements InputIterator
    This wrapper buffers incoming elements and makes sure they are sorted based on given comparator.
    • Constructor Detail

      • SortedInputIterator

        public SortedInputIterator​(InputIterator source,
                                   java.util.Comparator<BytesRef> comparator)
                            throws java.io.IOException
        Creates a new sorted wrapper, sorting by BytesRef (ascending) then cost (ascending).
        Throws:
        java.io.IOException
    • Method Detail

      • next

        public BytesRef next()
                      throws java.io.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:
        java.io.IOException - If there is a low-level I/O error.
      • weight

        public long weight()
        Description copied from interface: InputIterator
        A term's weight, higher numbers mean better suggestions.
        Specified by:
        weight 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
      • getComparator

        public java.util.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