net.sf.saxon.sort

Class CodepointCollator

public class CodepointCollator extends Object implements StringCollator, SubstringMatcher, Serializable

A collating sequence that uses Unicode codepoint ordering
Method Summary
intcompareCS(CharSequence a, CharSequence b)
Compare two CharSequence objects.
booleancomparesEqual(String s1, String s2)
Test whether one string is equal to another, according to the rules of the XPath compare() function.
intcompareStrings(String a, String b)
Compare two string objects.
booleancontains(String s1, String s2)
Test whether one string contains another, according to the rules of the XPath contains() function
booleanendsWith(String s1, String s2)
Test whether one string ends with another, according to the rules of the XPath ends-with() function
ObjectgetCollationKey(String s)
Get a collation key for two Strings.
static CodepointCollatorgetInstance()
booleanstartsWith(String s1, String s2)
Test whether one string starts with another, according to the rules of the XPath starts-with() function
StringsubstringAfter(String s1, String s2)
Return the part of a string after a given substring, according to the rules of the XPath substring-after() function
StringsubstringBefore(String s1, String s2)
Return the part of a string before a given substring, according to the rules of the XPath substring-before() function

Method Detail

compareCS

public int compareCS(CharSequence a, CharSequence b)
Compare two CharSequence objects. This is hand-coded to avoid converting the objects into Strings.

Returns: <0 if a0 if a>b

Throws: ClassCastException if the objects are of the wrong type for this Comparer

comparesEqual

public boolean comparesEqual(String s1, String s2)
Test whether one string is equal to another, according to the rules of the XPath compare() function. The result is true if and only if the compare() method returns zero: but the implementation may be more efficient than calling compare and testing the result for zero

Parameters: s1 the first string s2 the second string

Returns: true iff s1 equals s2

compareStrings

public int compareStrings(String a, String b)
Compare two string objects.

Returns: <0 if a0 if a>b

Throws: ClassCastException if the objects are of the wrong type for this Comparer

contains

public boolean contains(String s1, String s2)
Test whether one string contains another, according to the rules of the XPath contains() function

Parameters: s1 the containing string s2 the contained string

Returns: true iff s1 contains s2

endsWith

public boolean endsWith(String s1, String s2)
Test whether one string ends with another, according to the rules of the XPath ends-with() function

Parameters: s1 the containing string s2 the contained string

Returns: true iff s1 ends with s2

getCollationKey

public Object getCollationKey(String s)
Get a collation key for two Strings. The essential property of collation keys is that if two values are equal under the collation, then the collation keys are compare correctly under the equals() method.

getInstance

public static CodepointCollator getInstance()

startsWith

public boolean startsWith(String s1, String s2)
Test whether one string starts with another, according to the rules of the XPath starts-with() function

Parameters: s1 the containing string s2 the contained string

Returns: true iff s1 starts with s2

substringAfter

public String substringAfter(String s1, String s2)
Return the part of a string after a given substring, according to the rules of the XPath substring-after() function

Parameters: s1 the containing string s2 the contained string

Returns: the part of s1 that follows the first occurrence of s2

substringBefore

public String substringBefore(String s1, String s2)
Return the part of a string before a given substring, according to the rules of the XPath substring-before() function

Parameters: s1 the containing string s2 the contained string

Returns: the part of s1 that precedes the first occurrence of s2