}
@Override
- public @Nullable Double resolveDouble(LamiTableEntry entry) {
+ public @Nullable Number resolveNumber(LamiTableEntry entry) {
LamiData data = entry.getValue(fColIndex);
if (data instanceof LamiProcess) {
Long pid = ((LamiProcess) data).getPID();
-
- if (pid == null) {
- return null;
- }
-
- return Double.valueOf(pid);
+ return pid;
}
return null;
@Override
public Comparator<LamiTableEntry> getComparator() {
return (o1, o2) -> {
- Double dO1 = resolveDouble(o1);
- Double dO2 = resolveDouble(o2);
- if (dO1 == null || dO2 == null) {
+ Number d1 = resolveNumber(o1);
+ Number d2 = resolveNumber(o2);
+
+ if (d1 == null && d2 == null) {
return 0;
}
+ if (d1 == null) {
+ return 1;
+ }
+
+ if (d2 == null) {
+ return -1;
+ }
- return dO1.compareTo(dO2);
+ return Long.compare(d1.longValue(), d2.longValue());
};
}
}