Fábricas de Elementos

org.eclipse.ui.elementFactories

Este ponto de extensão é utilizado para adicionar fábricas de elementos à área de trabalho. Uma fábrica de elementos é utilizada para recriar objectos IAdaptable, que persistem durante o encerramento da área de trabalho.

Como exemplo, a fábrica de elementos é utilizada para que a informação de entrada do editor seja persistente. A informação de entrada para um editor deve implementar org.eclipse.ui.EditorInput. O ciclo de vida de um IEditorInput dentro de um editor tem várias fases.

  1. A informação de entrada inicial para um editor é passada durante a criação do editor.
  2. Durante o encerramento, o estado da área de trabalho é capturado. Neste processo, a área de trabalho irá criar uma memória para cada editor aberto e para a respectiva informação de entrada. A informação de entrada é guardada como uma memória de duas partes que contém um ID de fábrica, e quaisquer dados principais necessários para recriar o elemento durante o arranque. Para obter mais informações consulte a documentação em org.eclipse.ui.IPersistableElement.
  3. No arranque, lê-se o estado da área de trabalho e os editores da sessão anterior são recriados. Neste processo, a área de trabalho irá recriar o elemento de entrada para cada editor aberto. Para o fazer, irá correlacionar o ID de fábrica original para o elemento de entrada para uma classe de fábrica definida concreta definida no registo. Se existir uma correlação, e se a classe de fábrica for válida, é criada uma instância da classe de fábrica. Então, a área de trabalho pede à fábrica para recriar o elemento original a partir dos dados principais restantes dentro da memória. O IAdaptable resultante é converte-se temporalmente num IEditorInput e é passado para o novo editor.

<!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>


A seguir encontra-se um exemplo de uma extensão de fábrica de elementos:

   

<extension point =

"org.eclipse.ui.elementFactories"

>

<factory id =

"com.xyz.ElementFactory"

class=

"com.xyz.ElementFactory"

>

</factory>

</extension>

O valor do atributo class deve ser um nome totalmente qualificado de uma classe que implemente org.eclipse.ui.IElementFactory. Uma instância desta classe deve criar um objecto IAdaptable a partir da memória da área de trabalho.

A área de trabalho fornece uma fábrica IResource. As fábricas adicionais deverão ser adicionadas para recriar outros tipos de IAdaptable que normalmente se encontram noutros modelos de objectos como o modelo Java.