Package org.h2.value

Class CompareMode

  • Direct Known Subclasses:
    CompareModeDefault, CompareModeIcu4J

    public class CompareMode
    extends java.lang.Object
    Instances of this class can compare strings. Case sensitive and case insensitive comparison is supported, and comparison using a collator.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String CHARSET
      This constant means the charset specified should be used.
      static java.lang.String DEFAULT
      This constant means the default collator should be used, even if ICU4J is in the classpath.
      static java.lang.String ICU4J
      This constant means ICU4J should be used (this will fail if it is not in the classpath).
      static java.lang.String OFF
      This constant means there is no collator set, and the default string comparison is to be used.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected CompareMode​(java.lang.String name, int strength)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int compareString​(java.lang.String a, java.lang.String b, boolean ignoreCase)
      Compare two strings.
      boolean equals​(java.lang.Object obj)  
      boolean equalsChars​(java.lang.String a, int ai, java.lang.String b, int bi, boolean ignoreCase)
      Compare two characters in a string.
      static java.util.Locale[] getCollationLocales​(boolean onlyIfInitialized)
      Returns available locales for collations.
      static java.text.Collator getCollator​(java.lang.String name)
      Get the collator object for the given language name or language / country combination.
      static CompareMode getInstance​(java.lang.String name, int strength)
      Create a new compare mode with the given collator and strength.
      java.lang.String getName()  
      static java.lang.String getName​(java.util.Locale l)
      Get the collation name.
      int getStrength()  
      int hashCode()  
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • OFF

        public static final java.lang.String OFF
        This constant means there is no collator set, and the default string comparison is to be used.
        See Also:
        Constant Field Values
      • DEFAULT

        public static final java.lang.String DEFAULT
        This constant means the default collator should be used, even if ICU4J is in the classpath.
        See Also:
        Constant Field Values
      • ICU4J

        public static final java.lang.String ICU4J
        This constant means ICU4J should be used (this will fail if it is not in the classpath).
        See Also:
        Constant Field Values
      • CHARSET

        public static final java.lang.String CHARSET
        This constant means the charset specified should be used. This will fail if the specified charset does not exist.
        See Also:
        Constant Field Values
    • Constructor Detail

      • CompareMode

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

      • getInstance

        public static CompareMode getInstance​(java.lang.String name,
                                              int strength)
        Create a new compare mode with the given collator and strength. If required, a new CompareMode is created, or if possible the last one is returned. A cache is used to speed up comparison when using a collator; CollationKey objects are cached.
        Parameters:
        name - the collation name or null
        strength - the collation strength
        Returns:
        the compare mode
      • getCollationLocales

        public static java.util.Locale[] getCollationLocales​(boolean onlyIfInitialized)
        Returns available locales for collations.
        Parameters:
        onlyIfInitialized - if true, returns null when locales are not yet initialized
        Returns:
        available locales for collations.
      • equalsChars

        public boolean equalsChars​(java.lang.String a,
                                   int ai,
                                   java.lang.String b,
                                   int bi,
                                   boolean ignoreCase)
        Compare two characters in a string.
        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
      • compareString

        public int compareString​(java.lang.String a,
                                 java.lang.String b,
                                 boolean ignoreCase)
        Compare two strings.
        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
      • getName

        public static java.lang.String getName​(java.util.Locale l)
        Get the collation name.
        Parameters:
        l - the locale
        Returns:
        the name of the collation
      • getCollator

        public static java.text.Collator getCollator​(java.lang.String name)
        Get the collator object for the given language name or language / country combination.
        Parameters:
        name - the language name
        Returns:
        the collator
      • getName

        public java.lang.String getName()
      • getStrength

        public int getStrength()
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object