Collections.sort(list, new JournalPaySortUtil());
public class JournalPaySortUtil implements Comparator<AttributeFolder> {
public int compare(AttributeFolder srcAttributeFolder,
AttributeFolder discAttributeFolder) {
int count = 0;
JNLCreditDebitFlagAttribute jNLCreditDebitFlagSrc
= srcAttributeFolder.get(JNLCreditDebitFlagAttribute.class);
JNLCreditDebitFlagAttribute jNLCreditDebitFlagDisc
= discAttributeFolder.get(JNLCreditDebitFlagAttribute.class);
if (jNLCreditDebitFlagSrc.getValue().compareTo(jNLCreditDebitFlagDisc.getValue()) > 0) {
count = -1;
} else if (jNLCreditDebitFlagSrc.getValue().compareTo(
jNLCreditDebitFlagDisc.getValue()) == 0) {
count = 0;
} else {
count = 1;
}
if (count != 0){
return count;
}
JNLJournalDivAttribute jNLJournalDivSrc
= srcAttributeFolder.get(JNLJournalDivAttribute.class);
JNLJournalDivAttribute jNLJournalDivDisc
= discAttributeFolder.get(JNLJournalDivAttribute.class);
String strJNLJournalDivSrc = "";
String strJNLJournalDivDisc = "";
if ("CRE".equals(jNLJournalDivSrc.getValue())) {
strJNLJournalDivSrc = "1";
} else if ("EXP".equals(jNLJournalDivSrc.getValue())) {
strJNLJournalDivSrc = "2";
} else if ("AST".equals(jNLJournalDivSrc.getValue())) {
strJNLJournalDivSrc = "3";
} else if ("EXC".equals(jNLJournalDivSrc.getValue())) {
strJNLJournalDivSrc = "4";
}
if ("CRE".equals(jNLJournalDivDisc.getValue())) {
strJNLJournalDivDisc = "1";
} else if ("EXP".equals(jNLJournalDivDisc.getValue())) {
strJNLJournalDivDisc = "2";
} else if ("AST".equals(jNLJournalDivDisc.getValue())) {
strJNLJournalDivDisc = "3";
} else if ("EXC".equals(jNLJournalDivDisc.getValue())) {
strJNLJournalDivDisc = "4";
}
if(strJNLJournalDivSrc.compareTo(strJNLJournalDivDisc) > 0) {
count = 1;
} else if (strJNLJournalDivSrc.compareTo(strJNLJournalDivDisc) == 0) {
count = 0;
} else {
count = -1;
}
if (count != 0) {
return count;
}
ComDetailNoAttribute comDetailNoSrc = srcAttributeFolder.get(ComDetailNoAttribute.class);
ComDetailNoAttribute comDetailNoDisc = discAttributeFolder.get(ComDetailNoAttribute.class);
if (!comDetailNoSrc.isSet()) {
comDetailNoSrc.setValue(0);
}
if (!comDetailNoDisc.isSet()) {
comDetailNoDisc.setValue(0);
}
if (comDetailNoSrc.getValue().compareTo(comDetailNoDisc.getValue()) > 0 ) {
count = 1;
} else if (comDetailNoSrc.getValue().compareTo(comDetailNoDisc.getValue()) == 0) {
count = 0;
} else {
count = -1;
}
if (count != 0) {
return count;
} else {
return 0;
}
}
}