compareTo method
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(SQLBuilder other) {
if (other is CreateTableSQL) {
var ref1 = referenceTablesLength + relationshipsTables.length;
var ref2 = other.referenceTablesLength + other.relationshipsTables.length;
var cmp = ref1.compareTo(ref2);
if (cmp != 0) return cmp;
return table.compareTo(other.table);
} else if (other is AlterTableSQL) {
return -1;
} else if (other is CreateIndexSQL) {
var cmp = other.compareTo(this);
return -cmp;
} else {
return 0;
}
}