compareTo method

  1. @override
int compareTo(
  1. NsgDataItem a,
  2. NsgDataItem b
)
override

Implementation

@override
int compareTo(NsgDataItem a, NsgDataItem b) {
  var valueA = a.getFieldValue(name) as List;
  var valueB = b.getFieldValue(name) as List;
  if (valueA.length != valueB.length) return valueA.length.compareTo(valueB.length);
  for (var i = 0; i < valueA.length; i++) {
    if (valueA[i] is NsgDataItem) {
      for (var fieldName in valueA[i].fieldList.fields.keys) {
        var field = valueA[i].fieldList.fields[fieldName];
        var result = (field!.compareTo(valueA[i], valueB[i]) != 0);
        if (result) return -1;
      }
    } else {
      if (valueA[i] != valueB[i]) {
        return -1;
      }
    }
  }
  return 0;
}