compareTo method

  1. @override
int compareTo(
  1. XPathAtomic other
)
override

Compares this object to another object.

Returns a value like a Comparator when comparing this to other. That is, it returns a negative integer if this is ordered before other, a positive integer if this is ordered after other, and zero if this and other are ordered together.

The other argument must be a value that is comparable to this object.

Implementation

@override
int compareTo(XPathAtomic other) {
  if (other is XPathDuration) {
    if (isYearMonth && other.isYearMonth) {
      return totalMonths.compareTo(other.totalMonths);
    }
    if (isDayTime && other.isDayTime) {
      return totalMicroseconds.compareTo(other.totalMicroseconds);
    }
    final c1 = totalMonths.compareTo(other.totalMonths);
    if (c1 != 0) return c1;
    return totalMicroseconds.compareTo(other.totalMicroseconds);
  }
  return super.compareTo(other);
}