net.sf.saxon.sort
public class CalendarValueComparer extends Object implements AtomicComparer
Constructor Summary | |
---|---|
CalendarValueComparer(XPathContext context) |
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. |
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: 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: true if the values are equal, false if not
Throws: ClassCastException if the objects are not comparable
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
Throws: net.sf.saxon.trans.NoDynamicContextException if the context is an "early evaluation" (compile-time) context