快速開始

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

circle-info

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

  • 文件 - 泛指 YAML

  • 參數 - 泛指指令參數

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

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

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

circle-info

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

<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, 用於插件的生命週期執行。

triangle-exclamation

開始創建你的 Main Class。

circle-check

創建指令

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

最後,在 Registry class 定義關係。

事件監聽器 (ELD 版本)

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

最後,在 Registry class 進行註冊。

Yaml 文件配置

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

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

circle-info

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

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

circle-check

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

circle-check

注入實例

注入文件映射物件

以分支指令為例。

以事件監聽器為例

注入自定義單例 (Singleton)

註冊單例

使用: 以生命週期為例

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

triangle-exclamation

注入服務 (Service)

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

circle-check

最后更新于