Package org.h2.value
Class CompareMode
java.lang.Object
org.h2.value.CompareMode
- All Implemented Interfaces:
Comparator<Value>
- Direct Known Subclasses:
CompareModeDefault
,CompareModeIcu4J
Instances of this class can compare strings. Case sensitive and case
insensitive comparison is supported, and comparison using a collator.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final boolean
static final String
This constant means the charset specified should be used.static final String
This constant means the default collator should be used, even if ICU4J is in the classpath.static final String
This constant means ICU4J should be used (this will fail if it is not in the classpath).private static CompareMode
private static Locale[]
private final String
static final String
This constant means there is no collator set, and the default string comparison is to be used.private final int
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionint
(package private) static boolean
compareLocaleNames
(Locale locale, String name) Compare name of the locale with the given name.int
compareString
(String a, String b, boolean ignoreCase) Compare two strings.boolean
boolean
equalsChars
(String a, int ai, String b, int bi, boolean ignoreCase) Compare two characters in a string.static Locale[]
getCollationLocales
(boolean onlyIfInitialized) Returns available locales for collations.static Collator
getCollator
(String name) Get the collator object for the given language name or language / country combination.static CompareMode
getInstance
(String name, int strength) Create a new compare mode with the given collator and strength.getName()
static String
Get the collation name.int
int
hashCode()
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.util.Comparator
reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
-
Field Details
-
OFF
This constant means there is no collator set, and the default string comparison is to be used.- See Also:
-
DEFAULT
This constant means the default collator should be used, even if ICU4J is in the classpath.- See Also:
-
ICU4J
This constant means ICU4J should be used (this will fail if it is not in the classpath).- See Also:
-
CHARSET
This constant means the charset specified should be used. This will fail if the specified charset does not exist.- See Also:
-
LOCALES
-
lastUsed
-
CAN_USE_ICU4J
private static final boolean CAN_USE_ICU4J -
name
-
strength
private final int strength
-
-
Constructor Details
-
CompareMode
-
-
Method Details
-
getInstance
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
Returns available locales for collations.- Parameters:
onlyIfInitialized
- iftrue
, returnsnull
when locales are not yet initialized- Returns:
- available locales for collations.
-
equalsChars
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
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
Get the collation name.- Parameters:
l
- the locale- Returns:
- the name of the collation
-
compareLocaleNames
Compare name of the locale with the given name. The case of the name is ignored.- Parameters:
locale
- the localename
- the name- Returns:
- true if they match
-
getCollator
Get the collator object for the given language name or language / country combination.- Parameters:
name
- the language name- Returns:
- the collator
-
getName
-
getStrength
public int getStrength() -
equals
- Specified by:
equals
in interfaceComparator<Value>
- Overrides:
equals
in classObject
-
hashCode
public int hashCode() -
compare
- Specified by:
compare
in interfaceComparator<Value>
-