Class CollationKeys


  • public final class CollationKeys
    extends java.lang.Object
    • Field Detail

      • CASE_LOWER_FIRST_COMMON_LOW

        private static final int CASE_LOWER_FIRST_COMMON_LOW
        See Also:
        Constant Field Values
      • CASE_LOWER_FIRST_COMMON_MIDDLE

        private static final int CASE_LOWER_FIRST_COMMON_MIDDLE
        See Also:
        Constant Field Values
      • CASE_LOWER_FIRST_COMMON_HIGH

        private static final int CASE_LOWER_FIRST_COMMON_HIGH
        See Also:
        Constant Field Values
      • CASE_LOWER_FIRST_COMMON_MAX_COUNT

        private static final int CASE_LOWER_FIRST_COMMON_MAX_COUNT
        See Also:
        Constant Field Values
      • CASE_UPPER_FIRST_COMMON_LOW

        private static final int CASE_UPPER_FIRST_COMMON_LOW
        See Also:
        Constant Field Values
      • CASE_UPPER_FIRST_COMMON_HIGH

        private static final int CASE_UPPER_FIRST_COMMON_HIGH
        See Also:
        Constant Field Values
      • CASE_UPPER_FIRST_COMMON_MAX_COUNT

        private static final int CASE_UPPER_FIRST_COMMON_MAX_COUNT
        See Also:
        Constant Field Values
      • TER_ONLY_COMMON_MIDDLE

        private static final int TER_ONLY_COMMON_MIDDLE
        See Also:
        Constant Field Values
      • TER_ONLY_COMMON_MAX_COUNT

        private static final int TER_ONLY_COMMON_MAX_COUNT
        See Also:
        Constant Field Values
      • TER_LOWER_FIRST_COMMON_LOW

        private static final int TER_LOWER_FIRST_COMMON_LOW
        See Also:
        Constant Field Values
      • TER_LOWER_FIRST_COMMON_MIDDLE

        private static final int TER_LOWER_FIRST_COMMON_MIDDLE
        See Also:
        Constant Field Values
      • TER_LOWER_FIRST_COMMON_HIGH

        private static final int TER_LOWER_FIRST_COMMON_HIGH
        See Also:
        Constant Field Values
      • TER_LOWER_FIRST_COMMON_MAX_COUNT

        private static final int TER_LOWER_FIRST_COMMON_MAX_COUNT
        See Also:
        Constant Field Values
      • TER_UPPER_FIRST_COMMON_LOW

        private static final int TER_UPPER_FIRST_COMMON_LOW
        See Also:
        Constant Field Values
      • TER_UPPER_FIRST_COMMON_MIDDLE

        private static final int TER_UPPER_FIRST_COMMON_MIDDLE
        See Also:
        Constant Field Values
      • TER_UPPER_FIRST_COMMON_HIGH

        private static final int TER_UPPER_FIRST_COMMON_HIGH
        See Also:
        Constant Field Values
      • TER_UPPER_FIRST_COMMON_MAX_COUNT

        private static final int TER_UPPER_FIRST_COMMON_MAX_COUNT
        See Also:
        Constant Field Values
      • QUAT_SHIFTED_LIMIT_BYTE

        private static final int QUAT_SHIFTED_LIMIT_BYTE
        See Also:
        Constant Field Values
      • levelMasks

        private static final int[] levelMasks
        Map from collation strength (UColAttributeValue) to a mask of Collation.Level bits up to that strength, excluding the CASE_LEVEL which is independent of the strength, and excluding IDENTICAL_LEVEL which this function does not write.
    • Constructor Detail

      • CollationKeys

        private CollationKeys()
    • Method Detail

      • writeSortKeyUpToQuaternary

        public static void writeSortKeyUpToQuaternary​(CollationIterator iter,
                                                      boolean[] compressibleBytes,
                                                      CollationSettings settings,
                                                      CollationKeys.SortKeyByteSink sink,
                                                      int minLevel,
                                                      CollationKeys.LevelCallback callback,
                                                      boolean preflight)
        Writes the sort key bytes for minLevel up to the iterator data's strength. Optionally writes the case level. Stops writing levels when callback.needToWrite(level) returns false. Separates levels with the LEVEL_SEPARATOR_BYTE but does not write a TERMINATOR_BYTE.