package logbook.internal; import java.io.IOException; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import logbook.constants.AppConstants; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; /** * 遠征 * */ public final class Deck { private static final Logger LOG = LogManager.getLogger(Deck.class); /** * 遠征プリセット値 */ private static final Map<Integer, String> DECK = new ConcurrentHashMap<Integer, String>(); /** * 遠征プリセット値 */ private static final Map<String, String> EXPEDITIONNAME = new ConcurrentHashMap<String, String>(); static { try { // Populate the HashMap with the translation data // Column: Quest Code, titleJP, titleEN, detailJP, detailEN, api_no TranslationDto.fillIntMap(DECK, AppConstants.EXPEDITION_TRANSLATION_FILE, 0, 1); TranslationDto.fillMap(EXPEDITIONNAME, AppConstants.EXPEDITION_TRANSLATION_FILE, 2, 1); } catch (IOException e) { LOG.warn("Failed to read quest translation.", e); } } /** * 遠征を取得します * * @param id ID * @return 遠征 */ public static String get(int id) { return DECK.get(id); } /** * Retrieve the expedition name * * @param jpname Japanese name of the expedition * @return Translated Name */ public static String getname(String jpname) { return EXPEDITIONNAME.containsKey(jpname) ? EXPEDITIONNAME.get(jpname) : jpname; } }