compareTo method

  1. @override
int compareTo(
  1. dynamic 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(dynamic other) {
  if (other is int) {
    return lesson.compareTo(other);
  } else if (other is Substitution) {
    var tc = affectedClass, oc = other.affectedClass;
    if (tc.length > 1 && !'0123456789'.contains(tc[1])) tc = '0' + tc;
    if (oc.length > 1 && !'0123456789'.contains(oc[1])) oc = '0' + oc;
    final c = tc.compareTo(oc);
    return c != 0 ? c : lesson.compareTo(other.lesson);
  } else {
    return 0;
  }
}