in core/src/main/java/com/datastax/oss/driver/api/core/Version.java [212:267]
public int compareTo(@NonNull Version other) {
if (major < other.major) {
return -1;
}
if (major > other.major) {
return 1;
}
if (minor < other.minor) {
return -1;
}
if (minor > other.minor) {
return 1;
}
if (patch < other.patch) {
return -1;
}
if (patch > other.patch) {
return 1;
}
if (dsePatch < 0) {
if (other.dsePatch >= 0) {
return -1;
}
} else {
if (other.dsePatch < 0) {
return 1;
}
// Both are >= 0
if (dsePatch < other.dsePatch) {
return -1;
}
if (dsePatch > other.dsePatch) {
return 1;
}
}
if (preReleases == null) {
return other.preReleases == null ? 0 : 1;
}
if (other.preReleases == null) {
return -1;
}
for (int i = 0; i < Math.min(preReleases.length, other.preReleases.length); i++) {
int cmp = preReleases[i].compareTo(other.preReleases[i]);
if (cmp != 0) {
return cmp;
}
}
return Integer.compare(preReleases.length, other.preReleases.length);
}