## net.sf.saxon.sort
Class CodepointCollator

    java.lang.Object
      net.sf.saxon.sort.CodepointCollator

All Implemented Interfaces:
  Serializable, StringCollator, SubstringMatcher

    public class CodepointCollator

extends Object
implements StringCollator, SubstringMatcher, Serializable

A collating sequence that uses Unicode codepoint ordering

See Also:
  Serialized Form

Constructor Summary
`CodepointCollator()`

Method Summary
`int` `compareCS(CharSequence a, CharSequence b)` Compare two CharSequence objects.
`boolean` `comparesEqual(String s1, String s2)` Test whether one string is equal to another, according to the rules of the XPath compare() function.
`int` `compareStrings(String a, String b)` Compare two string objects.
`boolean` `contains(String s1, String s2)` Test whether one string contains another, according to the rules of the XPath contains() function
`boolean` `endsWith(String s1, String s2)` Test whether one string ends with another, according to the rules of the XPath ends-with() function
`Object` `getCollationKey(String s, Platform platform)` Get a collation key for two Strings.
`static CodepointCollator` `getInstance()`
`boolean` `startsWith(String s1, String s2)` Test whether one string starts with another, according to the rules of the XPath starts-with() function
`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
`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

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### CodepointCollator

    public CodepointCollator()

Method Detail

### getInstance

    public static CodepointCollator getInstance()

### compareStrings

    public int compareStrings(String a,
                              String b)

  Compare two string objects.

  Specified by:
    `compareStrings` in interface `StringCollator`
  Parameters:
    `a` - the first string
    `b` - the second string
  Returns:
    <0 if a<b, 0 if a=b, >0 if a>b
  Throws:
    `ClassCastException` - if the objects are of the wrong type for this Comparer

### 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 a<b, 0 if a=b, >0 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

  Specified by:
    `comparesEqual` in interface `SubstringMatcher`
  Parameters:
    `s1` - the first string
    `s2` - the second string
  Returns:
    true iff s1 equals s2

### contains

    public boolean contains(String s1,
                            String s2)

  Test whether one string contains another, according to the rules of the XPath contains() function

  Specified by:
    `contains` in interface `SubstringMatcher`
  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

  Specified by:
    `endsWith` in interface `SubstringMatcher`
  Parameters:
    `s1` - the containing string
    `s2` - the contained string
  Returns:
    true iff s1 ends with s2

### 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

  Specified by:
    `startsWith` in interface `SubstringMatcher`
  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

  Specified by:
    `substringAfter` in interface `SubstringMatcher`
  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

  Specified by:
    `substringBefore` in interface `SubstringMatcher`
  Parameters:
    `s1` - the containing string
    `s2` - the contained string
  Returns:
    the part of s1 that precedes the first occurrence of s2

### getCollationKey

    public Object getCollationKey(String s,
                                  Platform platform)

  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.

  Specified by:
    `getCollationKey` in interface `StringCollator`

Copyright (C) Michael H. Kay. All rights reserved.