Class NamedCollation

  extended by net.sf.saxon.expr.sort.NamedCollation
All Implemented Interfaces:
Serializable, StringCollator

public class NamedCollation
extends Object
implements StringCollator

A StringCollator is used for comparing strings (Java String objects). The URI is retained along with the collation so that the collation can be reconstructed on demand, typically at run-time by compiled code which has access to the URI but not the collation object itself.

See Also:
Serialized Form

Constructor Summary
NamedCollation(String uri, Comparator collation)
          Create a NamedCollation
Method Summary
 boolean comparesEqual(String s1, String s2)
          Compare two strings for equality.
 int compareStrings(String o1, String o2)
          Compares its two arguments for order.
 Comparator getCollation()
          Get the underlying comparator
 Object getCollationKey(String s)
          Get a collation key for two Strings.
 String getUri()
          Get the URI identifying the collation
 void setCollation(Comparator collation)
          Set the underlying comparator
 void setUri(String uri)
          Set the URI identifying the collation
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Detail


public NamedCollation(String uri,
                      Comparator collation)
Create a NamedCollation

uri - the name of the collation
collation - the Comparator that does the actual string comparison
Method Detail


public int compareStrings(String o1,
                          String o2)
Compares its two arguments for order. Returns a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second.

Specified by:
compareStrings in interface StringCollator
o1 - the first object to be compared.
o2 - the second object to be compared.
a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second.
ClassCastException - if the arguments' types prevent them from being compared by this Comparator.


public boolean comparesEqual(String s1,
                             String s2)
Compare two strings for equality. This may be more efficient than using compareStrings and testing whether the result is zero, but it must give the same result

Specified by:
comparesEqual in interface StringCollator
s1 - the first string
s2 - the second string
true if and only if the strings are considered equal,


public String getUri()
Get the URI identifying the collation


public void setUri(String uri)
Set the URI identifying the collation

uri - the collation URI


public Comparator getCollation()
Get the underlying comparator

the underlying comparator


public void setCollation(Comparator collation)
Set the underlying comparator

collation - the underlying comparator


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.

Specified by:
getCollationKey in interface StringCollator
s - the string whose collation key is required
the collation key

Copyright (c) 2004-2010 Saxonica Limited. All rights reserved.