|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectnet.sf.saxon.expr.sort.CollatingAtomicComparer
public class CollatingAtomicComparer
An AtomicComparer used for comparing strings, untypedAtomic values, and URIs using a collation. A CollatingAtomicComparer is used when it is known in advance that both operands will be of these types. This enables all conversions and promotions to be bypassed: the string values of both operands are simply extracted and passed to the collator for comparison.
| 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. |
StringCollator |
getCollator()
Get the collation used by this AtomicComparer if any |
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 |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public CollatingAtomicComparer(StringCollator collator,
Platform platform)
collator - the collation to be used. If the method is called at compile time, this should
be a SimpleCollation so that it can be cloned at run-time.platform - used to obtain collation keys.| Method Detail |
|---|
public StringCollator getCollator()
AtomicComparer
getCollator in interface AtomicComparerpublic AtomicComparer provideContext(XPathContext context)
provideContext in interface AtomicComparercontext - the dynamic evaluation context
public int compareAtomicValues(AtomicValue a,
AtomicValue b)
compareAtomicValues in interface AtomicComparera - 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.
ClassCastException - if the objects are not comparable
public boolean comparesEqual(AtomicValue a,
AtomicValue b)
comparesEqual in interface AtomicComparera - 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.
ClassCastException - if the objects are not comparablepublic ComparisonKey getComparisonKey(AtomicValue a)
getComparisonKey in interface AtomicComparer
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||