001package com.ericlam.mc.eld.services;
002
003import com.ericlam.mc.eld.components.GroupConfiguration;
004import com.ericlam.mc.eld.components.GroupLangConfiguration;
005import com.ericlam.mc.eld.configurations.GroupConfig;
006import com.ericlam.mc.eld.configurations.GroupLang;
007
008/**
009 * 文件池服務
010 */
011public interface ConfigPoolService {
012
013    /**
014     * 獲取 指定類型 的文件池
015     * @param type 指定類型
016     * @param <T> 文件組類別
017     * @return 文件池
018     */
019    <T extends GroupConfiguration> GroupConfig<T> getGroupConfig(Class<T> type);
020
021    /**
022     * 獲取 指定類型 的語言文件池
023     * @param type 指定類型
024     * @param <T> 語言文件池類別
025     * @return 語言文件池
026     */
027    <T extends GroupLangConfiguration> GroupLang<T> getGroupLang(Class<T> type);
028
029}