Package org.h2.value
Class CompareMode
- java.lang.Object
-
- org.h2.value.CompareMode
-
- Direct Known Subclasses:
CompareModeDefault,CompareModeIcu4J
public class CompareMode extends java.lang.ObjectInstances 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.StringCHARSETThis constant means the charset specified should be used.static java.lang.StringDEFAULTThis constant means the default collator should be used, even if ICU4J is in the classpath.static java.lang.StringICU4JThis constant means ICU4J should be used (this will fail if it is not in the classpath).static java.lang.StringOFFThis constant means there is no collator set, and the default string comparison is to be used.
-
Constructor Summary
Constructors Modifier Constructor Description protectedCompareMode(java.lang.String name, int strength)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description intcompareString(java.lang.String a, java.lang.String b, boolean ignoreCase)Compare two strings.booleanequals(java.lang.Object obj)booleanequalsChars(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.CollatorgetCollator(java.lang.String name)Get the collator object for the given language name or language / country combination.static CompareModegetInstance(java.lang.String name, int strength)Create a new compare mode with the given collator and strength.java.lang.StringgetName()static java.lang.StringgetName(java.util.Locale l)Get the collation name.intgetStrength()inthashCode()
-
-
-
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
-
-
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 nullstrength- the collation strength- Returns:
- the compare mode
-
getCollationLocales
public static java.util.Locale[] getCollationLocales(boolean onlyIfInitialized)
Returns available locales for collations.- Parameters:
onlyIfInitialized- iftrue, returnsnullwhen 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 stringai- the character index in the first stringb- the second stringbi- the character index in the second stringignoreCase- 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 stringb- the second stringignoreCase- 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:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
-