package org.limewire.core.api; import java.util.Arrays; import java.util.List; import org.limewire.i18n.I18nMarker; /** * Represents a category for the various file types represented in the application. */ public enum Category { AUDIO(I18nMarker.marktr("Audio"), I18nMarker.marktr("Audio")), VIDEO(I18nMarker.marktr("Video"), I18nMarker.marktr("Videos")), IMAGE(I18nMarker.marktr("Image"), I18nMarker.marktr("Images")), DOCUMENT(I18nMarker.marktr("Document"), I18nMarker.marktr("Documents")), PROGRAM(I18nMarker.marktr("Program"), I18nMarker.marktr("Programs")), OTHER(I18nMarker.marktr("Other"), I18nMarker.marktr("Other")), ; private final String plural; private final String singular; Category(String singular, String plural) { this.singular = singular; this.plural = plural; } /** * Returns the name of the category when referring to a single item. */ public String getSingularName() { return singular; } /** * Returns the name of the category when referring to many items. */ public String getPluralName() { return plural; } @Override public String toString() { return plural; } /** * Returns a List with the categories in the order we would like them to be displayed. */ public static List<Category> getCategoriesInOrder() { return Arrays.asList(AUDIO, VIDEO, IMAGE, DOCUMENT, PROGRAM, OTHER); } }