in aws-datastore/src/main/java/com/amplifyframework/datastore/storage/sqlite/ModelComparator.java [81:180]
public int compare(T modelLeft, T modelRight) {
if (sortBy != null && sortBy.getModelName() != null) {
Method method = getMethod();
if (method != null) {
Object valueLeft = getValue(method, modelLeft);
Object valueRight = getValue(method, modelRight);
if (valueLeft == null) {
return -1;
} else if (valueRight == null) {
return 1;
}
if (method.getReturnType() == String.class) {
String valueModel1 = (String) valueLeft;
String valueModel2 = (String) valueRight;
return valueModel1.compareTo(valueModel2);
}
if (method.getReturnType() == int.class) {
int valueModel1 = (int) valueLeft;
int valueModel2 = (int) valueRight;
return Integer.compare(valueModel1, valueModel2);
}
if (method.getReturnType() == Integer.class) {
Integer valueModel1 = (Integer) valueLeft;
Integer valueModel2 = (Integer) valueRight;
return Integer.compare(valueModel1, valueModel2);
}
if (method.getReturnType() == boolean.class) {
boolean valueModel1 = (boolean) valueLeft;
boolean valueModel2 = (boolean) valueRight;
return Boolean.compare(valueModel1, valueModel2);
}
if (method.getReturnType() == Boolean.class) {
Boolean valueModel1 = (Boolean) valueLeft;
Boolean valueModel2 = (Boolean) valueRight;
return Boolean.compare(valueModel1, valueModel2);
}
if (method.getReturnType() == long.class) {
long valueModel1 = (long) valueLeft;
long valueModel2 = (long) valueRight;
return Long.compare(valueModel1, valueModel2);
}
if (method.getReturnType() == double.class) {
double valueModel1 = (double) valueLeft;
double valueModel2 = (double) valueRight;
return Double.compare(valueModel1, valueModel2);
}
if (method.getReturnType() == Double.class) {
Double valueModel1 = (Double) valueLeft;
Double valueModel2 = (Double) valueRight;
return Double.compare(valueModel1, valueModel2);
}
if (method.getReturnType() == Date.class) {
Date valueModel1 = (Date) valueLeft;
Date valueModel2 = (Date) valueRight;
return valueModel1.compareTo(valueModel2);
}
if (method.getReturnType() == float.class) {
float valueModel1 = (float) valueLeft;
float valueModel2 = (float) valueRight;
return Float.compare(valueModel1, valueModel2);
}
if (method.getReturnType() == Float.class) {
Float valueModel1 = (Float) valueLeft;
Float valueModel2 = (Float) valueRight;
return Float.compare(valueModel1, valueModel2);
}
if (method.getReturnType() == char.class) {
char valueModel1 = (char) valueLeft;
char valueModel2 = (char) valueRight;
return Character.compare(valueModel1, valueModel2);
}
if (method.getReturnType() == Character.class) {
Character valueModel1 = (Character) valueLeft;
Character valueModel2 = (Character) valueRight;
return Character.compare(valueModel1, valueModel2);
}
if (method.getReturnType() == byte.class) {
byte valueModel1 = (byte) valueLeft;
byte valueModel2 = (byte) valueRight;
return Byte.compare(valueModel1, valueModel2);
}
if (method.getReturnType() == Byte.class) {
Byte valueModel1 = (Byte) valueLeft;
Byte valueModel2 = (Byte) valueRight;
return Byte.compare(valueModel1, valueModel2);
}
if (method.getReturnType() == Temporal.DateTime.class) {
Temporal.DateTime valueModel1 = (Temporal.DateTime) valueLeft;
Temporal.DateTime valueModel2 = (Temporal.DateTime) valueRight;
return valueModel1.compareTo(valueModel2);
}
if (method.getReturnType() == Temporal.Date.class) {
Temporal.DateTime valueModel1 = (Temporal.DateTime) valueLeft;
Temporal.DateTime valueModel2 = (Temporal.DateTime) valueRight;
return valueModel1.compareTo(valueModel2);
}
}
}
return -1;
}