Package org.h2.value
Class CompareModeDefault
- java.lang.Object
-
- org.h2.value.CompareMode
-
- org.h2.value.CompareModeDefault
-
- All Implemented Interfaces:
java.util.Comparator<Value>
public class CompareModeDefault extends CompareMode
The default implementation of CompareMode. It uses java.text.Collator.
-
-
Field Summary
Fields Modifier and Type Field Description private CompareModeDefaultcaseInsensitiveprivate SmallLRUCache<java.lang.String,java.text.CollationKey>collationKeysprivate java.text.Collatorcollator-
Fields inherited from class org.h2.value.CompareMode
CHARSET, DEFAULT, ICU4J, OFF
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedCompareModeDefault(java.lang.String name, int strength)
-
Method Summary
All 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 java.text.CollationKeygetKey(java.lang.String a)-
Methods inherited from class org.h2.value.CompareMode
compare, compareLocaleNames, equals, getCollationLocales, getCollator, getInstance, getName, getName, getStrength, hashCode
-
-
-
-
Field Detail
-
collator
private final java.text.Collator collator
-
collationKeys
private final SmallLRUCache<java.lang.String,java.text.CollationKey> collationKeys
-
caseInsensitive
private volatile CompareModeDefault 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
-
getKey
private java.text.CollationKey getKey(java.lang.String a)
-
-