Package org.h2.value
Class CompareModeIcu4J
- java.lang.Object
-
- org.h2.value.CompareMode
-
- org.h2.value.CompareModeIcu4J
-
- All Implemented Interfaces:
java.util.Comparator<Value>
public class CompareModeIcu4J extends CompareMode
An implementation of CompareMode that uses the ICU4J Collator.
-
-
Field Summary
Fields Modifier and Type Field Description private CompareModeIcu4J
caseInsensitive
private java.util.Comparator<java.lang.String>
collator
-
Fields inherited from class org.h2.value.CompareMode
CHARSET, DEFAULT, ICU4J, OFF
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
CompareModeIcu4J(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
equalsChars(java.lang.String a, int ai, java.lang.String b, int bi, boolean ignoreCase)
Compare two characters in a string.private static java.util.Comparator<java.lang.String>
getIcu4jCollator(java.lang.String name, int strength)
-
Methods inherited from class org.h2.value.CompareMode
compare, compareLocaleNames, equals, getCollationLocales, getCollator, getInstance, getName, getName, getStrength, hashCode
-
-
-
-
Field Detail
-
collator
private final java.util.Comparator<java.lang.String> collator
-
caseInsensitive
private volatile CompareModeIcu4J caseInsensitive
-
-
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 classCompareMode
- 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
-
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 classCompareMode
- 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
-
getIcu4jCollator
private static java.util.Comparator<java.lang.String> getIcu4jCollator(java.lang.String name, int strength)
-
-