org.apache.lucene.util

## Class StableMSBRadixSorter

- java.lang.Object
- - org.apache.lucene.util.Sorter
  - - org.apache.lucene.util.MSBRadixSorter
    - - org.apache.lucene.util.StableMSBRadixSorter

-     public abstract class StableMSBRadixSorter
      extends MSBRadixSorter

  Stable radix sorter for variable-length strings.
  NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.

- - ### Field Summary

    - ### Fields inherited from class org.apache.lucene.util.MSBRadixSorter

      `HISTOGRAM_SIZE, maxLength`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `StableMSBRadixSorter(int maxLength)`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected Sorter` | `getFallbackSorter(int k)` Get a fall-back sorter which may assume that the first k bytes of all compared strings are equal.
    `protected void` | `reorder(int from, int to, int[] startOffsets, int[] endOffsets, int k)` Reorder elements in stable way, since Dutch sort does not guarantee ordering for same values.
    `protected abstract void` | `restore(int i, int j)` Restore values between i-th and j-th(excluding) in temporary storage into original storage.
    `protected abstract void` | `save(int i, int j)` Save the i-th value into the j-th position in temporary storage.

    - ### Methods inherited from class org.apache.lucene.util.MSBRadixSorter

      `byteAt, compare, getBucket, sort, sort`

    - ### Methods inherited from class org.apache.lucene.util.Sorter

      `comparePivot, setPivot, swap`

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

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

- - ### Constructor Detail

    - #### StableMSBRadixSorter

          public StableMSBRadixSorter(int maxLength)

  - ### Method Detail

    - #### save

          protected abstract void save(int i,
                                       int j)

      Save the i-th value into the j-th position in temporary storage.

    - #### restore

          protected abstract void restore(int i,
                                          int j)

      Restore values between i-th and j-th(excluding) in temporary storage into original storage.

    - #### getFallbackSorter

          protected Sorter getFallbackSorter(int k)

      Description copied from class: `MSBRadixSorter`
      Get a fall-back sorter which may assume that the first k bytes of all compared strings are equal.
      Overrides:
        `getFallbackSorter` in class `MSBRadixSorter`

    - #### reorder

          protected void reorder(int from,
                                 int to,
                                 int[] startOffsets,
                                 int[] endOffsets,
                                 int k)

      Reorder elements in stable way, since Dutch sort does not guarantee ordering for same values.

      When this method returns, startOffsets and endOffsets are equal.

      Overrides:
        `reorder` in class `MSBRadixSorter`
        `startOffsets` - start offsets per bucket
        `endOffsets` - end offsets per bucket

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