元素 Factory
ID:
org.eclipse.ui.elementFactories
說明:
這個延伸點用來在工作台中加入元素 Factory。
元素 Factory 用來重新建立在工作台關閉期間持續存在的 IAdaptable 物件。
舉例來說,元素 Factory 係用來持續編輯器輸入。
編輯器的輸入必須實作 org.eclipse.ui.EditorInput。
編輯器內 IEditorInput 的生命週期具有若干階段。
-
在建立編輯器期間,會傳入編輯器的起始輸入。
-
在關閉時,會攫取工作台狀態。
在這個程序中,工作台會為每個開啟的編輯器及其輸入建立一項 memento。輸入會儲存成兩段式 memento,其中含有 Factory ID 及在啟動時重建元素所需要的初始資料。如果需要詳細資訊,請參閱 org.eclipse.ui.IPersistableElement 的相關文件。
-
啟動時會讀取工作台狀態,且會重新建立前一階段作業的編輯器。
在這個程序中,工作台會重建每個開啟的編輯器的輸入元素。為了要做到這一點,它會將輸入元素的程式 Factory ID 對映至登錄中所定義的具體 Factory 類別。
如果對映存在且 Factory 類別有效,就會建立 Factory 類別的實例。之後,工作台會要求 Factory 從 memento 內剩餘的初始資料重建程式元素。 結果 IAdaptable 會強制轉型成 IEditorInput 並傳給新編輯器。
配置標記:
<!ELEMENT extension (factory*)>
<!ATTLIST extension
point CDATA #REQUIRED
id CDATA #IMPLIED
name CDATA #IMPLIED>
- point - 目標延伸點的完整 ID
- id - 延伸實例的選用 ID
- name - 延伸實例的選用名稱
<!ELEMENT factory EMPTY>
<!ATTLIST factory
id CDATA #REQUIRED
class CDATA #REQUIRED>
- id - 用來識別這個 Factory 的唯一名稱。
- class - 實作 org.eclipse.ui.IElementFactory 介面之類別的完整名稱
範例:
下列是元素 Factory 延伸的範例:
<extension
point =
"org.eclipse.ui.elementFactories"
>
<factory
id =
"com.xyz.ElementFactory"
class=
"com.xyz.ElementFactory"
>
</factory>
</extension>
API 資訊:
class 屬性值必須是實作 org.eclipse.ui.IElementFactory 的完整類別名稱。這個類別的實例必須從工作台 memento 建立一個 IAdaptable 物件。
提供的實作:
工作台提供 IResource Factory。
應該新增額外的 Factory 來重建通常會在其他物件模型(如 Java 模型)中找到的其他 IAdaptable 類型。
Copyright (c) 2002, 2004 IBM Corporation and others.
All rights reserved.
本程式與隨附的資料依照 Elipse Public License 1.0 版此次發行所隨附的條款而提供,
可以在以下網址取得:http://www.eclipse.org/legal/epl-v10.html