net.sf.saxon.sort
public class CollatingAtomicComparer extends Object implements AtomicComparer
Constructor Summary | |
---|---|
CollatingAtomicComparer(StringCollator collator, Platform platform)
Create an GenericAtomicComparer |
Method Summary | |
---|---|
int | compareAtomicValues(AtomicValue a, AtomicValue b)
Compare two AtomicValue objects according to the rules for their data type. |
boolean | comparesEqual(AtomicValue a, AtomicValue b)
Compare two AtomicValue objects for equality according to the rules for their data type. |
String | getCollationURI()
Get the collation URI |
ComparisonKey | getComparisonKey(AtomicValue a)
Get a comparison key for an object. |
AtomicComparer | provideContext(XPathContext context)
Supply the dynamic context in case this is needed for the comparison
|
Parameters: collator the collation to be used. If the method is called at compile time, this should be a NamedCollation so that it can be cloned at run-time. platform used to obtain collation keys.
Parameters: a the first object to be compared. It is intended that this should be an instance of AtomicValue, though this restriction is not enforced. If it is a StringValue, the collator is used to compare the values, otherwise the value must implement the java.util.Comparable interface. b the second object to be compared. This must be comparable with the first object: for example, if one is a string, they must both be strings.
Returns: <0 if a0 if a>b
Throws: ClassCastException if the objects are not comparable
Parameters: a the first object to be compared. It is intended that this should be an instance of AtomicValue, though this restriction is not enforced. If it is a StringValue, the collator is used to compare the values, otherwise the value must implement the equals() method. b the second object to be compared. This must be comparable with the first object: for example, if one is a string, they must both be strings.
Returns: <0 if a0 if a>b
Throws: ClassCastException if the objects are not comparable
Returns: the collation URI
Parameters: context the dynamic evaluation context
Returns: either the original AtomicComparer, or a new AtomicComparer in which the context is known. The original AtomicComparer is not modified