Fire Workflow `org.fireflow.model` 套件中任務相關類別定義,涵蓋三種具體任務類型、時間間隔、事件監聽器與擴展屬性保留機制。
任務類型繼承體系
所有任務繼承自 `Task` 基類,三種具體實現:
FormTask - 人工表單任務
- 表單類型:EDITFORM (可編輯)、VIEWFORM (唯讀)、LISTFORM (列表)
- 分配策略:
- ALL:角色全體簽核,全部完成任務才結束
- ANY:任一簽核即結束,其他工作項取消
- 核心屬性:
- `performer` (Participant):操作者/角色引用
- `defaultView`:預設表單類型 (預設 VIEWFORM)
- `editForm`/`viewForm`/`listForm` (Form):三類表單引用
SubflowTask - 子流程任務
- `subWorkflowProcess` (SubWorkflowProcess):引用的子流程資源
ToolTask - 自動化工具任務
- `application` (Application):引用的後台應用程式資源

輔助核心類別
Duration - 時間間隔
工作流執行時限表示,封裝數值與單位 (秒/分/時/天),支援解析與格式化。
EventListener - 事件監聽器
記錄監聽器實作類別名稱,供引擎動態載入。功能待完善,建議擴展為支援多事件類型、順序控制。
ExtendedAttributeNames - 擴展屬性保留名單
定義框架內部保留的擴展屬性名稱常數,防止用戶自定義屬性命名衝突。包含流程實例狀態、任務優先級、委派資訊等關鍵鍵值。

Task 基類核心屬性回顧
| 屬性 | 說明 |
| type | 任務類型:FORM, TOOL, SUBFLOW, DUMMY(保留) |
| duration | 執行時限 (Duration 型別) |
| priority | 優先級 (1.0 版未啟用) |
| loopStrategy | 迴路策略:REDO(重做)、SKIP(跳過)、NONE(無) |
| taskInstanceCreator | 任務實例建立器,未設定則用流程全域預設 |
| taskInstanceRunner | 任務實例執行器,分 Form/Tool/Subflow 三型 |
| taskInstanceCompletionEvaluator | 任務實例完成判斷器,分三型對應 |
設計亮點
- 策略模式應用:循環策略、實例建立/執行/完成判斷皆採用可插拔介面設計,支援業務自定義擴展
- 資源解耦:任務僅持有資源引用 (Form/Application/SubWorkflowProcess),實際資源管理由 `ResourceManager` 統一負責
- 表單類型細分:EDIT/VIEW/LIST 三種表單模式對應真實業務場景 (編輯/審閱/列表查詢)
下一篇將介紹流程定義頂層元素 `WorkflowProcess` 與資料欄位 `DataField` 等核心模型。