Fabriques d'élément

org.eclipse.ui.elementFactories

Ce point d'extension sert à ajouter des fabriques d'élément au plan de travail. Une fabrique d'élément est utilisée pour recréer des objets IAdaptable qui sont conservés pendant l'arrêt du plan de travail.

Par exemple, la fabrique d'élément est utilisée pour conserver une entrée d'éditeur. L'entrée pour un éditeur doit implémenter org.eclipse.ui.EditorInput. Le cycle de vie de IEditorInput dans un éditeur comporte un certain nombre de phases.

  1. L'entrée initiale pour un éditeur est transmise au cours de la création de l'éditeur.
  2. A l'arrêt, l'état du plan de travail est capturé. Dans ce processus, le plan de travail crée un mémento pour chaque éditeur ouvert et son entrée. Cette dernière est sauvegardée sous forme d'un mémento en deux parties contenant un ID fabrique et les données primitives requises pour recréer l'élément au démarrage. Pour plus d'informations, reportez-vous à la documentation sur org.eclipse.ui.IPersistableElement.
  3. Au démarrage, l'état du plan de travail est lu et les éditeurs de la précédente session recréés. Dans ce processus, le plan de travail recrée l'élément d'entrée de chaque éditeur ouvert. Pour ce faire, le plan de travail mappe l'ID de fabrique d'origine de l'élément d'entrée à une classe de fabrique concrète définie dans le registre. Lorsqu'un mappage est trouvé, et que la classe de fabrique est valide, une instance de la classe de fabrique est créée. Puis le plan de travail demande à la fabrique de recréer l'élément d'origine à partir des données primitives restantes du mémento. Le IAdaptable résultant est rattaché à un IEditorInput et transmis au nouvel éditeur.

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


L'exemple ci-dessous illustre l'extension d'une fabrique d'élément :

   

<extension point =

"org.eclipse.ui.elementFactories"

>

<factory id =

"com.xyz.ElementFactory"

class=

"com.xyz.ElementFactory"

>

</factory>

</extension>

La valeur de l'attribut class doit correspondre au nom qualifié complet d'une classe implémentant org.eclipse.ui.IElementFactory. Une instance de cette classe doit créer un objet IAdaptable à partir d'un mémento de plan de travail.

Le plan de travail fournit une fabrique IResource. Des fabriques supplémentaires doivent être ajoutées pour recréer d'autres types r IAdaptable que l'on trouve communément dans d'autres modèles d'objet, tel que le modèle Java.