元素工厂

标识:org.eclipse.ui.elementFactories

描述:此扩展点用来将元素工厂添加至工作台。元素工厂用来重新创建在工作台关闭期间持久化的 IAdaptable 对象。

作为示例,元素工厂用来持久化编辑器输入。编辑器的输入必须实现 org.eclipse.ui.EditorInput。编辑器内的 IEditorInput 的生命周期具有许多阶段。

  1. 编辑器的初始输入是在编辑器创建期间传送来的。
  2. 关机时将捕获工作台状态。在此过程中,工作台将为每个打开的编辑器及其输入创建备忘录。输入被保存为一个具有两个部分的备忘录,该备忘录包含工厂标识和任何在启动时重新创建元素所必需的原始数据。有关更多信息,参见有关 org.eclipse.ui.IPersistableElement 的文档。
  3. 启动时将读取工作台状态并重新创建先前会话中的编辑器。在此过程中,工作台将为每个打开的编辑器重新创建输入元素。为此,它将输入元素的原始工厂标识映射至在注册表中定义的具体工厂类。如果映射存在且工厂类是有效的,则创建该工厂类的实例。然后,工作台请求工厂根据备忘录中剩余的原始数据重新创建原始元素。所生成的 IAdaptable 被强制转型为 IEditorInput 并传送到新编辑器中。

配置标记:

   <!ELEMENT extension (factory*)>

   <!ATTLIST extension
     point CDATA #REQUIRED
     id    CDATA #IMPLIED
     name  CDATA #IMPLIED
   >

   <!ELEMENT factory EMPTY>

   <!ATTLIST factory
     id    CDATA #REQUIRED
     class CDATA #REQUIRED
   >

示例:以下是元素工厂扩展的示例:

   <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, 2003 IBM Corporation and others. All rights reserved. 该程序及附带提供的资料是基于“一般公共许可证”(Common Public License) v1.0 的条款提供的,本发行版中提供了该许可证条款,并且也可 在以下位置处找到该条款:http://www.eclipse.org/legal/cpl-v10.htm