net.sf.saxon.sort
Class EmptyGreatestComparer

java.lang.Object
  extended bynet.sf.saxon.sort.EmptyGreatestComparer
All Implemented Interfaces:
java.util.Comparator, java.io.Serializable

public class EmptyGreatestComparer
extends java.lang.Object
implements java.util.Comparator, java.io.Serializable

A Comparer that modifies a base comparer by sorting empty key values and NaN values last (greatest), as opposed to the default which sorts them first.

See Also:
Serialized Form

Constructor Summary
EmptyGreatestComparer(AtomicComparer baseComparer)
           
 
Method Summary
 int compare(java.lang.Object a, java.lang.Object b)
          Compare two AtomicValue objects according to the rules for their data type.
 
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

EmptyGreatestComparer

public EmptyGreatestComparer(AtomicComparer baseComparer)
Method Detail

compare

public int compare(java.lang.Object a,
                   java.lang.Object b)
Compare two AtomicValue objects according to the rules for their data type. UntypedAtomic values are compared as if they were strings; if different semantics are wanted, the conversion must be done by the caller.

Specified by:
compare in interface java.util.Comparator
Parameters:
a - the first object to be compared. It is intended that this should normally 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:
java.lang.ClassCastException - if the objects are not comparable