Class CollationKeys

java.lang.Object
com.ibm.icu.impl.coll.CollationKeys

public final class CollationKeys extends Object
  • Field Details

    • SIMPLE_LEVEL_FALLBACK

      public static final CollationKeys.LevelCallback SIMPLE_LEVEL_FALLBACK
    • SEC_COMMON_LOW

      private static final int SEC_COMMON_LOW
      See Also:
    • SEC_COMMON_MIDDLE

      private static final int SEC_COMMON_MIDDLE
      See Also:
    • SEC_COMMON_HIGH

      static final int SEC_COMMON_HIGH
      See Also:
    • SEC_COMMON_MAX_COUNT

      private static final int SEC_COMMON_MAX_COUNT
      See Also:
    • CASE_LOWER_FIRST_COMMON_LOW

      private static final int CASE_LOWER_FIRST_COMMON_LOW
      See Also:
    • CASE_LOWER_FIRST_COMMON_MIDDLE

      private static final int CASE_LOWER_FIRST_COMMON_MIDDLE
      See Also:
    • CASE_LOWER_FIRST_COMMON_HIGH

      private static final int CASE_LOWER_FIRST_COMMON_HIGH
      See Also:
    • CASE_LOWER_FIRST_COMMON_MAX_COUNT

      private static final int CASE_LOWER_FIRST_COMMON_MAX_COUNT
      See Also:
    • CASE_UPPER_FIRST_COMMON_LOW

      private static final int CASE_UPPER_FIRST_COMMON_LOW
      See Also:
    • CASE_UPPER_FIRST_COMMON_HIGH

      private static final int CASE_UPPER_FIRST_COMMON_HIGH
      See Also:
    • CASE_UPPER_FIRST_COMMON_MAX_COUNT

      private static final int CASE_UPPER_FIRST_COMMON_MAX_COUNT
      See Also:
    • TER_ONLY_COMMON_LOW

      private static final int TER_ONLY_COMMON_LOW
      See Also:
    • TER_ONLY_COMMON_MIDDLE

      private static final int TER_ONLY_COMMON_MIDDLE
      See Also:
    • TER_ONLY_COMMON_HIGH

      private static final int TER_ONLY_COMMON_HIGH
      See Also:
    • TER_ONLY_COMMON_MAX_COUNT

      private static final int TER_ONLY_COMMON_MAX_COUNT
      See Also:
    • TER_LOWER_FIRST_COMMON_LOW

      private static final int TER_LOWER_FIRST_COMMON_LOW
      See Also:
    • TER_LOWER_FIRST_COMMON_MIDDLE

      private static final int TER_LOWER_FIRST_COMMON_MIDDLE
      See Also:
    • TER_LOWER_FIRST_COMMON_HIGH

      private static final int TER_LOWER_FIRST_COMMON_HIGH
      See Also:
    • TER_LOWER_FIRST_COMMON_MAX_COUNT

      private static final int TER_LOWER_FIRST_COMMON_MAX_COUNT
      See Also:
    • TER_UPPER_FIRST_COMMON_LOW

      private static final int TER_UPPER_FIRST_COMMON_LOW
      See Also:
    • TER_UPPER_FIRST_COMMON_MIDDLE

      private static final int TER_UPPER_FIRST_COMMON_MIDDLE
      See Also:
    • TER_UPPER_FIRST_COMMON_HIGH

      private static final int TER_UPPER_FIRST_COMMON_HIGH
      See Also:
    • TER_UPPER_FIRST_COMMON_MAX_COUNT

      private static final int TER_UPPER_FIRST_COMMON_MAX_COUNT
      See Also:
    • QUAT_COMMON_LOW

      private static final int QUAT_COMMON_LOW
      See Also:
    • QUAT_COMMON_MIDDLE

      private static final int QUAT_COMMON_MIDDLE
      See Also:
    • QUAT_COMMON_HIGH

      private static final int QUAT_COMMON_HIGH
      See Also:
    • QUAT_COMMON_MAX_COUNT

      private static final int QUAT_COMMON_MAX_COUNT
      See Also:
    • QUAT_SHIFTED_LIMIT_BYTE

      private static final int QUAT_SHIFTED_LIMIT_BYTE
      See Also:
    • 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 Details

    • CollationKeys

      private CollationKeys()
  • Method Details

    • getSortKeyLevel

      private static CollationKeys.SortKeyLevel getSortKeyLevel(int levels, int level)
    • 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.