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 CompareModeIcu4JcaseInsensitiveprivate 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 protectedCompareModeIcu4J(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.booleanequalsChars(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:CompareModeCompare two strings.- Overrides:
compareStringin 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:CompareModeCompare two characters in a string.- Overrides:
equalsCharsin 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)
-
-