Fábricas de elementos
Identificador: org.eclipse.ui.elementFactories
Descripción: este punto de extensión se utiliza para añadir
fábricas de elementos al entorno de trabajo. La fábrica de elementos permite
crear de nuevo objetos IAdaptable que persisten durante la
conclusión del entorno de trabajo.
Como ejemplo, la fábrica de elementos se utiliza para dar persistencia a la
entrada de un editor. La entrada de un editor debe implementar
org.eclipse.ui.IEditorInput. El ciclo de vida de una entrada
IEditorInput dentro de un editor tiene varias fases.
-
La entrada inicial de un editor se pasa durante la creación del editor.
-
En el momento de la conclusión, se captura el estado del entorno de trabajo. En
este proceso, el entorno de trabajo creará un recordatorio de cada editor abierto
y de su entrada. La entrada se guarda como recordatorio de dos componentes
que contienen un ID de fábrica y los datos primitivos que se
necesiten para crear de nuevo el elemento cuando se inicie. Para obtener más
información consulte la documentación relacionada con
org.eclipse.ui.IPersistableElement.
-
En el momento de iniciarse, se lee el estado del entorno de trabajo, y se
vuelven a crear los editores de la sesión anterior. En este proceso, el entorno
de trabajo creará de nuevo el elemento de entrada de cada editor abierto. Para
ello, correlacionará el ID de fábrica original del elemento de entrada con una
clase de fábrica concreta definida en el registro. Si existe una correlación y
es válida la clase de fábrica, se crea una instancia de la clase de fábrica. A
continuación, el entorno de trabajo solicita a la fábrica que cree de nuevo el
elemento original a partir de los datos primitivos que queden en el
recordatorio. La interfaz IAdaptable resultante se convierte
temporalmente en IEditorInput y se pasa al nuevo editor.
Códigos XML de configuración:
<!ELEMENT factory EMPTY>
<!ATTLIST factory
id CDATA
#REQUIRED
class
CDATA #REQUIRED
>
-
id: nombre exclusivo que se empleará para identificar esta fábrica.
-
class: nombre totalmente calificado de una clase que implementa
org.eclipse.ui.IElementFactory.
Ejemplos:
A continuación podemos observar un ejemplo de extensión de fábrica de elementos:
<extension
point = "org.eclipse.ui.elementFactories">
<factory
id
="com.xyz.ElementFactory"
class="com.xyz.ElementFactory">
</factory>
</extension>
Información sobre las API: el valor del atributo
class debe ser un nombre totalmente calificado de una clase que
implemente org.eclipse.ui.IElementFactory. Una instancia de esta clase
debe crear un objeto IAdaptable a partir de un recordatorio del
entorno de trabajo.
Implementación suministrada: el entorno de trabajo proporciona
una fábrica de IResource. Deben añadirse fábricas adicionales para
crear de nuevo otros tipos de IAdaptable que se hallan habitualmente
en otros modelos de objetos, como el modelo Java.