|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object net.sf.saxon.sort.TextComparer
public class TextComparer
A Comparer used for comparing sort keys when data-type="text". The items to be compared are converted to strings, and the strings are then compared using an underlying collator
Constructor Summary | |
---|---|
TextComparer(AtomicComparer baseComparer)
|
Method Summary | |
---|---|
int |
compareAtomicValues(AtomicValue a,
AtomicValue b)
Compare two Items by converting them to strings and comparing the string values. |
boolean |
comparesEqual(AtomicValue a,
AtomicValue b)
Compare two AtomicValue objects for equality according to the rules for their data type. |
AtomicComparer |
getBaseComparer()
Get the underlying comparer (which doesn't do conversion to string) |
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 |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public TextComparer(AtomicComparer baseComparer)
Method Detail |
---|
public AtomicComparer getBaseComparer()
public AtomicComparer provideContext(XPathContext context)
provideContext
in interface AtomicComparer
context
- the dynamic evaluation context
NoDynamicContextException
- if the context is an "early evaluation" (compile-time) contextpublic int compareAtomicValues(AtomicValue a, AtomicValue b) throws ClassCastException, NoDynamicContextException
compareAtomicValues
in interface AtomicComparer
a
- the first Item to be compared.b
- the second Item to be compared.
ClassCastException
- if the objects are not Items, or are items that cannot be convered
to strings (e.g. QNames)
NoDynamicContextException
- if this comparer required access to dynamic context information,
notably the implicit timezone, and this information is not available. In general this happens if a
context-dependent comparison is attempted at compile-time, and it signals the compiler to generate
code that tries again at run-time.public boolean comparesEqual(AtomicValue a, AtomicValue b) throws NoDynamicContextException
comparesEqual
in interface AtomicComparer
a
- the first object to be compared.b
- the second object to be compared.
ClassCastException
- if the objects are not comparable
NoDynamicContextException
public ComparisonKey getComparisonKey(AtomicValue a) throws NoDynamicContextException
getComparisonKey
in interface AtomicComparer
NoDynamicContextException
|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |