public class TextComparer extends Object implements AtomicComparer, Serializable
| Constructor and Description |
|---|
TextComparer(AtomicComparer baseComparer) |
| Modifier and Type | Method and Description |
|---|---|
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)
|
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
|
public TextComparer(AtomicComparer baseComparer)
public AtomicComparer getBaseComparer()
public StringCollator getCollator()
AtomicComparergetCollator in interface AtomicComparerpublic AtomicComparer provideContext(XPathContext context)
provideContext in interface AtomicComparercontext - the dynamic evaluation contextNoDynamicContextException - if the context is an "early evaluation" (compile-time) contextpublic int compareAtomicValues(AtomicValue a, AtomicValue b) throws ClassCastException, NoDynamicContextException
compareAtomicValues in interface AtomicComparera - 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 AtomicComparera - the first object to be compared.b - the second object to be compared.ClassCastException - if the objects are not comparableNoDynamicContextExceptionpublic ComparisonKey getComparisonKey(AtomicValue a) throws NoDynamicContextException
getComparisonKey in interface AtomicComparerNoDynamicContextExceptionCopyright (c) 2004-2013 Saxonica Limited. All rights reserved.