001package com.ericlam.mc.eld.controllers;
002
003import java.util.List;
004
005/**
006 * 訊息文件控制器
007 */
008public interface LangController {
009
010    /**
011     * 獲取訊息
012     * @param node 節點
013     * @return 包含前綴的訊息
014     */
015    String get(String node);
016
017    /**
018     * 獲取訊息,連帶訊息參數 {0} {1} {2}...
019     * @param node 節點
020     * @param args 訊息參數
021     * @return 包含前綴的訊息
022     */
023    String get(String node, Object... args);
024
025
026    /**
027     * 獲取訊息,連帶訊息參數 %s %d %2.f...
028     * @param node 節點
029     * @param args 訊息參數
030     * @return 包含前綴的訊息
031     */
032    String getF(String node, Object... args);
033
034    /**
035     * 獲取無前綴的訊息
036     * @param node 節點
037     * @return 無前綴訊息
038     */
039    String getPure(String node);
040
041    /**
042     * 獲取無前綴的訊息,連帶訊息參數 {0} {1} {2}...
043     * @param node 節點
044     * @param args 訊息參數
045     * @return 無前綴訊息
046     */
047    String getPure(String node, Object... args);
048
049
050    /**
051     * 獲取無前綴的訊息,連帶訊息參數  %s %d %2.f...
052     * @param node 節點
053     * @param args 訊息參數
054     * @return 無前綴訊息
055     */
056    String getPureF(String node, Object... args);
057
058    /**
059     * 獲取訊息列表
060     * @param node 節點
061     * @return 含前綴訊息列表
062     */
063    List<String> getList(String node);
064
065
066    /**
067     * 獲取無前綴訊息列表
068     * @param node 節點
069     * @return 無前綴訊息列表
070     */
071    List<String> getPureList(String node);
072
073    /**
074     * 獲取前綴
075     * @return 前綴
076     */
077    String getPrefix();
078
079}