public class DotNetComparator extends java.lang.Object implements SubstringMatcher
Constructor and Description |
---|
DotNetComparator(CompareInfo comparer,
CompareOptions options)
Create a collation based on a given .NET CompareInfo and CompareOptions
|
Modifier and Type | Method and Description |
---|---|
boolean |
comparesEqual(java.lang.String s1,
java.lang.String s2)
Test whether one string is equal to another, according to the rules
of the XPath compare() function.
|
int |
compareStrings(java.lang.String o1,
java.lang.String o2)
Compares its two arguments for order.
|
boolean |
contains(java.lang.String s1,
java.lang.String s2)
Test whether one string contains another, according to the rules
of the XPath contains() function
|
boolean |
endsWith(java.lang.String s1,
java.lang.String s2)
Test whether one string ends with another, according to the rules
of the XPath ends-with() function
|
java.lang.Object |
getCollationKey(java.lang.String value)
Return a collation key.
|
boolean |
startsWith(java.lang.String s1,
java.lang.String s2)
Test whether one string starts with another, according to the rules
of the XPath starts-with() function
|
java.lang.String |
substringAfter(java.lang.String s1,
java.lang.String s2)
Return the part of a string after a given substring, according to the rules
of the XPath substring-after() function
|
java.lang.String |
substringBefore(java.lang.String s1,
java.lang.String s2)
Return the part of a string before a given substring, according to the rules
of the XPath substring-before() function
|
public DotNetComparator(CompareInfo comparer, CompareOptions options)
comparer
- the CompareInfo, which determines the language-specific
collation rules to be usedoptions
- Options to be used in performing comparisons, for example
whether they are to be case-blind and/or accent-blindpublic int compareStrings(java.lang.String o1, java.lang.String o2)
The implementor must ensure that sgn(compare(x, y)) == -sgn(compare(y, x)) for all x and y. (This implies that compare(x, y) must throw an exception if and only if compare(y, x) throws an exception.)
The implementor must also ensure that the relation is transitive: ((compare(x, y)>0) && (compare(y, z)>0)) implies compare(x, z)>0.
Finally, the implementer must ensure that compare(x, y)==0 implies that sgn(compare(x, z))==sgn(compare(y, z)) for all z.
It is generally the case, but not strictly required that (compare(x, y)==0) == (x.equals(y)). Generally speaking, any comparator that violates this condition should clearly indicate this fact. The recommended language is "Note: this comparator imposes orderings that are inconsistent with equals."
compareStrings
in interface StringCollator
o1
- the first object to be compared.o2
- the second object to be compared.java.lang.ClassCastException
- if the arguments' types prevent them from
being compared by this Comparator.public boolean comparesEqual(java.lang.String s1, java.lang.String s2)
comparesEqual
in interface SubstringMatcher
s1
- the first strings2
- the second stringpublic boolean contains(java.lang.String s1, java.lang.String s2)
contains
in interface SubstringMatcher
s1
- the containing strings2
- the contained stringpublic boolean endsWith(java.lang.String s1, java.lang.String s2)
endsWith
in interface SubstringMatcher
s1
- the containing strings2
- the contained stringpublic boolean startsWith(java.lang.String s1, java.lang.String s2)
startsWith
in interface SubstringMatcher
s1
- the containing strings2
- the contained stringpublic java.lang.String substringAfter(java.lang.String s1, java.lang.String s2)
substringAfter
in interface SubstringMatcher
s1
- the containing strings2
- the contained stringpublic java.lang.String substringBefore(java.lang.String s1, java.lang.String s2)
substringBefore
in interface SubstringMatcher
s1
- the containing strings2
- the contained stringpublic java.lang.Object getCollationKey(java.lang.String value)
getCollationKey
in interface StringCollator
value
- the string whose collation key is required