001package com.ericlam.mc.bungee.hnmc.config;
002
003import com.ericlam.mc.bungee.hnmc.config.yaml.BungeeConfiguration;
004
005/**
006 * Config 工廠
007 */
008public interface ConfigFactory {
009
010    /**
011     * 註冊
012     *
013     * @param yml         文件名稱
014     * @param configClass 所屬文件的映射物件
015     * @return this
016     */
017    ConfigFactory register(String yml, Class<? extends BungeeConfiguration> configClass);
018
019    /**
020     * 註冊並使用 @Resource 定位文件位置
021     *
022     * @param configClass 所屬文件的映射物件
023     * @return this
024     */
025    ConfigFactory register(Class<? extends BungeeConfiguration> configClass);
026
027    /**
028     * @return 新的 Yaml 管理器 實例
029     */
030    YamlManager dump();
031
032
033}