package se.idega.idegaweb.commune.accounting.business;
import java.text.Collator;
import java.util.Comparator;
import se.idega.idegaweb.commune.accounting.invoice.data.PaymentHeader;
import se.idega.idegaweb.commune.accounting.invoice.data.PaymentRecord;
import com.idega.util.LocaleUtil;
/**
* A class to compare a collection of PaymentRecords or PaymentHeaders objects.
* @author Sigtryggur
*/
public class PaymentComparator implements Comparator {
private Collator collator;
private String compareString1;
private String compareString2;
/**
* @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
*/
public int compare(Object o1, Object o2) {
collator = Collator.getInstance(LocaleUtil.getSwedishLocale());
if (o1 instanceof PaymentHeader) {
compareString1 = ((PaymentHeader) o1).getSchool().getName();
compareString2 = ((PaymentHeader) o2).getSchool().getName();
}
else if (o1 instanceof PaymentRecord) {
int int1 = ((PaymentRecord) o1).getOrderId();
int int2 = ((PaymentRecord) o2).getOrderId();
if (int1 == int2)
return 0;
else if (int1 < int2)
return -1;
else
return 1;
}
return collator.compare(compareString1, compareString2);
}
}