快速開始

本頁將教你如何創建你的第一個使用 ELD framework 框架開發的插件。

在閱讀本教程之前,可以先參閱以下字眼的定義以更易理解教程。

  • 文件 - 泛指 YAML

  • 參數 - 泛指指令參數

  • 服務 - 泛指 界面接口,可用作 插件對外接口 (API)

  • 單例 - 保持單一的實例。如果用於實現接口,通常不會用於注入。

若果你使用 Maven, 你可以依照下列的 文本 掛接 ELDependenci 框架。

本框架採用 github packages 作為 maven 庫。你可以在 這裏 進一步了解如何掛接。

<repositories>
    <repository>
        <id>eld</id>
        <url>https://maven.pkg.github.com/ELDependenci/eldependenci</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>org.eldependenci</groupId>
        <artifactId>eldependenci-framework</artifactId>
        <version>{最新版本}</version>
        <scope>provided</scope>
    </dependency>
</dependencies>

首先你需要創建兩個 classes, 第一個是 Registry,用於註冊監聽器與指令。

第二個是 LifeCycle, 用於插件的生命週期執行。

開始創建你的 Main Class。

創建指令

以下範例將編寫分支指令。

最後,在 Registry class 定義關係。

事件監聽器 (ELD 版本)

在註冊事件監聽器中,你可以直接註冊原版的事件監聽器,也可以註冊 ELD 版本監聽器 ELDListener。

最後,在 Registry class 進行註冊。

Yaml 文件配置

此框架採用 ORM 設計進行 Yaml 文件配置。假設你有如下文件配置:

文件映射物件需設計如下。

此框架文件配置採用 jackson-databind-yaml 作為基礎,因此你可以使用任何的 jackson-annotations 以控制映射物件。

假若你的文件配置如下,則可使用 Map 裝載。

最後在你的 Main class 中,註冊 映射物件。

注入實例

注入文件映射物件

以分支指令為例。

以事件監聽器為例

注入自定義單例 (Singleton)

註冊單例

使用: 以生命週期為例

@Inject 除了使用在 instance field 之外,你也可以使用於 constructor (建構子/構造器) 之中。

注入服務 (Service)

服務與單例性質基本相同,但其分別在於服務是使用 interface 作為媒介,而 單例 則使用 實例 。 使用 interface 作為媒介的好處在於避免出現高耦合的問題,通常適用於作為插件對外接口(API), 或是出現不同的實作方式時。

最后更新于