Package org.h2.value

Class CompareModeDefault

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

    public class CompareModeDefault
    extends CompareMode
    The default implementation of CompareMode. It uses java.text.Collator.
    • Field Detail

      • collator

        private final java.text.Collator collator
      • collationKeys

        private final SmallLRUCache<java.lang.String,​java.text.CollationKey> collationKeys
    • Constructor Detail

      • CompareModeDefault

        protected CompareModeDefault​(java.lang.String name,
                                     int strength)
    • Method Detail

      • compareString

        public int compareString​(java.lang.String a,
                                 java.lang.String b,
                                 boolean ignoreCase)
        Description copied from class: CompareMode
        Compare two strings.
        Overrides:
        compareString in class CompareMode
        Parameters:
        a - the first string
        b - the second string
        ignoreCase - true if a case-insensitive comparison should be made
        Returns:
        -1 if the first string is 'smaller', 1 if the second string is smaller, and 0 if they are equal
      • equalsChars

        public boolean equalsChars​(java.lang.String a,
                                   int ai,
                                   java.lang.String b,
                                   int bi,
                                   boolean ignoreCase)
        Description copied from class: CompareMode
        Compare two characters in a string.
        Overrides:
        equalsChars in class CompareMode
        Parameters:
        a - the first string
        ai - the character index in the first string
        b - the second string
        bi - the character index in the second string
        ignoreCase - true if a case-insensitive comparison should be made
        Returns:
        true if the characters are equals
      • getKey

        private java.text.CollationKey getKey​(java.lang.String a)