private void sort(List<SalaryHandle> list) {
Collections.sort(list, new Comparator() {
public int compare(SalaryHandle h1, SalaryHandle h2) {
int result = 0;
if ((h1.getChangeDate() != null) && (h2.getChangeDate() != null)) {
result = h1.getChangeDate().compareTo(h2.getChangeDate());
if (result == 0) {
if ((h1.getPriority() != null) && (h2.getPriority() != null)) {
result = h1.getPriority().compareTo(h2.getPriority());
if(result == 0){
if ((h1.getStartmonth() != null) && (h2.getStartmonth() != null)) {
Integer i1 = "THEN_MONTH".equals(h1.getStartmonth())?0:1;
Integer i2 = "THEN_MONTH".equals(h2.getStartmonth())?0:1;
result = i1.compareTo(i2);
}
}
}
}
} else if ((h1.getPriority() != null) && (h2.getPriority() != null)) {
return h1.getPriority().compareTo(h2.getPriority());
}
return result;
}
@Override
public int compare(Object o1, Object o2) {
return compare((SalaryHandle) o1, (SalaryHandle) o2);
}
});
}