Class EmptyGreatestComparer

java.lang.Object
net.sf.saxon.sort.EmptyGreatestComparer
All Implemented Interfaces:
Serializable, Comparator

public class EmptyGreatestComparer extends Object implements Comparator, 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.
Author:
Michael H. Kay
See Also:
  • Constructor Details

    • EmptyGreatestComparer

      public EmptyGreatestComparer(AtomicComparer baseComparer)
  • Method Details

    • compare

      public int compare(Object a, 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 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:
      invalid input: '<'0 if ainvalid input: '<'b, 0 if a=b, >0 if a>b
      Throws:
      ClassCastException - if the objects are not comparable