in maven-resolver-util/src/main/java/org/eclipse/aether/util/version/GenericVersion.java [350:393]
public int compareTo(Item that) {
int rel;
if (that == null) {
// null in this context denotes the pad item (0 or "ga")
switch (kind) {
case KIND_MIN:
rel = -1;
break;
case KIND_MAX:
case KIND_BIGINT:
case KIND_STRING:
rel = 1;
break;
case KIND_INT:
case KIND_QUALIFIER:
rel = (Integer) value;
break;
default:
throw new IllegalStateException("unknown version item kind " + kind);
}
} else {
rel = kind - that.kind;
if (rel == 0) {
switch (kind) {
case KIND_MAX:
case KIND_MIN:
break;
case KIND_BIGINT:
rel = ((BigInteger) value).compareTo((BigInteger) that.value);
break;
case KIND_INT:
case KIND_QUALIFIER:
rel = ((Integer) value).compareTo((Integer) that.value);
break;
case KIND_STRING:
rel = ((String) value).compareToIgnoreCase((String) that.value);
break;
default:
throw new IllegalStateException("unknown version item kind " + kind);
}
}
}
return rel;
}