org.h2.value
Class CompareMode

java.lang.Object
  extended by org.h2.value.CompareMode

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
static java.lang.String OFF
          This constant means there is no collator set, and the default string comparison is to be used.
 
Method Summary
 int compareString(java.lang.String a, java.lang.String b, boolean ignoreCase)
          Compare two strings.
 boolean equalsChars(java.lang.String a, int ai, java.lang.String b, int bi, boolean ignoreCase)
          Compare two characters in a string.
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()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, 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
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

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()