package com.idega.core.localisation.business;
import java.util.Comparator;
import java.util.Locale;
public class LocalesComparator implements Comparator<Locale> {
private boolean sortByDisplayCountry = false;
public void setSortByDisplayCountry(boolean sortByDisplayCountry) {
this.sortByDisplayCountry = sortByDisplayCountry;
}
/**
* By default sorts by display language values
*/
public int compare(Locale l1, Locale l2) {
int result = 0;
String value1 = l1.getDisplayLanguage();
String value2 = l2.getDisplayLanguage();
if (sortByDisplayCountry) {
value1 = l1.getDisplayCountry();
value2 = l2.getDisplayCountry();
}
if (value1 == null && value2 == null) {
result = 0;
}
else if (value2 == null) {
result = 1;
}
else if (value1 == null) {
result = -1;
}
else {
result = value1.compareTo(value2);
}
return result;
}
}