package com.tomclaw.mandarin.im; import java.util.HashMap; import java.util.List; import java.util.Map; /** * Created with IntelliJ IDEA. * User: solkin * Date: 6/9/13 * Time: 4:53 PM */ public class StatusUtil { public static int STATUS_OFFLINE = 0x00; private static Map<String, StatusCatalogue> catalogues = new HashMap<String, StatusCatalogue>(); public static void include(String accountType, StatusCatalogue statusCatalogue) { // Checking for no such status catalogue included yet. if (!catalogues.containsKey(accountType)) { catalogues.put(accountType, statusCatalogue); } } private static StatusCatalogue getStatusCatalogue(String accountType) { return catalogues.get(accountType); } private static Status getStatus(String accountType, int statusIndex) { return getStatusCatalogue(accountType).getStatus(statusIndex); } public static int getStatusIndex(String accountType, String statusValue) throws StatusNotFoundException { return getStatusCatalogue(accountType).getStatusIndex(statusValue); } public static int getStatusDrawable(String accountType, int statusIndex) { return getStatus(accountType, statusIndex).getDrawable(); } public static String getStatusTitle(String accountType, int statusIndex) { return getStatus(accountType, statusIndex).getTitle(); } public static String getStatusValue(String accountType, int statusIndex) { return getStatus(accountType, statusIndex).getValue(); } public static List<Integer> getConnectStatuses(String accountType) { return getStatusCatalogue(accountType).getConnectStatuses(); } public static List<Integer> getSetupStatuses(String accountType) { return getStatusCatalogue(accountType).getSetupStatuses(); } public static int getDefaultOnlineStatus(String accountType) { return getStatusCatalogue(accountType).getConnectStatuses().get(0); } public static int getMusicStatus(String accountType) throws StatusNotFoundException { return getStatusCatalogue(accountType).getMusicStatus(); } }