|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.sf.saxon.sort.GenericAtomicComparer
A Comparator used for comparing atomic values of arbitrary item types. It encapsulates a Collator that is used when the values to be compared are strings. It also supports a separate method for testing equality of items, which can be used for data types that are not ordered.
Constructor Summary | |
GenericAtomicComparer(java.util.Comparator collator,
Configuration config)
|
|
GenericAtomicComparer(java.util.Comparator collator,
XPathContext conversion)
Create an GenericAtomicComparer |
Method Summary | |
int |
compare(java.lang.Object a,
java.lang.Object 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. |
static AtomicComparer |
makeAtomicComparer(int type0,
int type1,
java.util.Comparator collator,
Configuration config)
Factory method to make a GenericAtomicComparer for values of known types |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface java.util.Comparator |
equals |
Constructor Detail |
public GenericAtomicComparer(java.util.Comparator collator, XPathContext conversion)
collator
- the collation to be usedconversion
- a context, used when converting untyped atomic values to the target type.public GenericAtomicComparer(java.util.Comparator collator, Configuration config)
Method Detail |
public static AtomicComparer makeAtomicComparer(int type0, int type1, java.util.Comparator collator, Configuration config)
type0
- primitive type of the first operandtype1
- primitive type of the second operandcollator
- the collation to be used, if anyconfig
- the configuration
public int compare(java.lang.Object a, java.lang.Object b)
compare
in interface AtomicComparer
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.
java.lang.ClassCastException
- if the objects are not comparablepublic boolean comparesEqual(AtomicValue a, AtomicValue b)
comparesEqual
in interface AtomicComparer
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.
java.lang.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 |