Class BytesRefComparator

  • All Implemented Interfaces:
    java.util.Comparator<BytesRef>

    public abstract class BytesRefComparator
    extends java.lang.Object
    implements java.util.Comparator<BytesRef>
    Specialized BytesRef comparator that StringSorter has optimizations for.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected BytesRefComparator​(int comparedBytesCount)
      Sole constructor.
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      protected abstract int byteAt​(BytesRef ref, int i)
      Return the unsigned byte to use for comparison at index i, or -1 if all bytes that are useful for comparisons are exhausted.
      int compare​(BytesRef o1, BytesRef o2)  
      int compare​(BytesRef o1, BytesRef o2, int k)
      Compare two bytes refs that first k bytes are already guaranteed to be equal.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface java.util.Comparator

        equals, reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
    • Field Detail

      • NATURAL

        public static final BytesRefComparator NATURAL
        Comparing ByteRefs in natual order.
      • comparedBytesCount

        final int comparedBytesCount
    • Constructor Detail

      • BytesRefComparator

        protected BytesRefComparator​(int comparedBytesCount)
        Sole constructor.
        Parameters:
        comparedBytesCount - the maximum number of bytes to compare.
    • Method Detail

      • byteAt

        protected abstract int byteAt​(BytesRef ref,
                                      int i)
        Return the unsigned byte to use for comparison at index i, or -1 if all bytes that are useful for comparisons are exhausted. This may only be called with a value of i between 0 included and comparedBytesCount excluded.
      • compare

        public final int compare​(BytesRef o1,
                                 BytesRef o2)
        Specified by:
        compare in interface java.util.Comparator<BytesRef>
      • compare

        public int compare​(BytesRef o1,
                           BytesRef o2,
                           int k)
        Compare two bytes refs that first k bytes are already guaranteed to be equal.