文件池配置

文件池,又名文件組,指一個特定的文件夾內的所有yaml。 該文件夾內的yaml必須符合統一的格式,以確保文件映射能有效運作。

範例

創建文件映射物件,該映射物件必須繼承 GroupConfiguration。 然後,使用 @GroupResource 標註你的文件夾位置。

@GroupResource(folder = "Books")
public class Book extends GroupConfiguration {

    public String title;
    public String author;
    public String description;
    public int pages;
    public List<String> contents;

}

@GroupResource 有兩個屬性,第一個是必填的 folder, 第二個是選填的 preloads. 在 preloads 中,你可以透過填入 文件名稱 (可以多個) 來預先複製 jar 內的文件到插件資料夾內。

@GroupResource(
     folder = "Books",
     preloads = { "internal" } // 假設你 jar 內有 /Books/internal.yml 的文件
)
public class Book extends GroupConfiguration {

    public String title;
    public String author;
    public String description;
    public int pages;
    public List<String> contents;

}

Yaml 文件組 (以書本為範例)

註冊文件池

然後,便可以開始使用。

使用

使用可以透過 GroupConfig<T> 進行注入,但在標註上並非使用 @Inject,而是使用 @InjectPool

從上述範例當中,我們註冊了 Book 作為 文件池組別,使用則如下範例:

GroupConfig<T> 採用 DAO pattern,其源碼如下:

文件池的讀寫操作

v0.1.3 之後,文件池將允許刪除,創建及更新指定文件。

GroupConfig<T> 在獲取指定文件之後,將會把其儲存到快取,直到被刪除和更新。若要手動清除快取,可以調用 fetch 或者調用 fetchById 來清除指定文件。

除此之外,你也可以透過 文件池 創建文件。範例如下:

刪除指定文件的範例則如下:

文件池分頁操作

v0.1.4 之後,文件池可以被分頁提取,並提供過濾,頁數,和每頁數量等控制,以更好於界面上呈現。

最后更新于