元素工厂
标识:
org.eclipse.ui.elementFactories
描述:
此扩展点用来将元素工厂添加至工作台。元素工厂用来重新创建在工作台关闭期间持久保存的 IAdaptable 对象。
作为示例,元素工厂用来持久保存编辑器输入。编辑器的输入必须实现
org.eclipse.ui.EditorInput。编辑器内的 IEditorInput
的生命周期具有许多阶段。
-
编辑器的初始输入是在编辑器创建期间传递来的。
-
关机时将捕获工作台状态。在此过程中,工作台将为每个打开的编辑器及其输入创建备忘录。输入被保存为一个具有两个部分的备忘录,该备忘录包含工厂标识和任何在启动时重新创建元素所必需的原始数据。有关更多信息,请参阅有关 org.eclipse.ui.IPersistableElement 的文档。
-
启动时,将读取工作台状态,并且将重新创建前一会话中的编辑器。在此过程中,工作台将为每个打开的编辑器重新创建输入元素。为此,它将把输入元素的原始工厂标识映射至在注册表中定义的具体工厂类。如果映射存在,并且工厂类是有效的,则会创建该工厂类的实例。然后,工作台将要求工厂从备忘录中的其余原语数据重新创建原始元素。获得的 IAdaptable 被强制类型转换为 IEditorInput 并且传递至新的编辑器。
配置标记:
<!ELEMENT extension (factory*)>
<!ATTLIST extension
point CDATA #REQUIRED
id CDATA #IMPLIED
name CDATA #IMPLIED>
- point - 目标扩展点的标准标识
- id - 扩展实例的可选标识
- name - 扩展实例的可选名称
<!ELEMENT factory EMPTY>
<!ATTLIST factory
id CDATA #REQUIRED
class CDATA #REQUIRED>
- id - 将用来标识此工厂的唯一名称。
- class - 实现 org.eclipse.ui.IElementFactory 的类的标准名称。
示例:
以下是元素工厂扩展的一个示例:
<extension
point =
"org.eclipse.ui.elementFactories"
>
<factory
id =
"com.xyz.ElementFactory"
class=
"com.xyz.ElementFactory"
>
</factory>
</extension>
API 信息:
class 属性的值必须是用来实现 org.eclipse.ui.IElementFactory 的类的标准名称。此类的实例必须根据工作台备忘录创建
IAdaptable 对象。
提供的实现:
工作台提供了 IResource 工厂。应添加其它工厂以重新创建在其它对象模型(例如,Java 模型)中常见的其它 IAdaptable 类型。
Copyright (c) 2002, 2005 IBM Corporation and others.
All rights reserved. This program and the accompanying materials are made
available under the terms of the Eclipse Public License v1.0 which accompanies
this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html