package de.catma.document.source; import java.util.Locale; /** * An item in the language list. * Used for display purposes. */ public final class LanguageItem implements Comparable<LanguageItem> { private Locale locale; /** * Constructor * @param locale the locale of this item */ public LanguageItem(Locale locale) { this.locale = locale; } /** * @return the locale of this item */ public Locale getLocale() { return locale; } @Override public String toString() { return locale.getDisplayLanguage() + (locale.getDisplayCountry().isEmpty()? "" : "-" + locale.getDisplayCountry()); } /** * Compares by string representation of the item. */ public int compareTo(LanguageItem o) { return this.toString().compareTo(o.toString()); } @Override public int hashCode() { return locale.hashCode(); } @Override public boolean equals(Object obj) { if (obj instanceof LanguageItem) { return locale.equals(((LanguageItem)obj).locale); } return false; } }