Factory-Dienstprogramme für Elemente

Kennung: org.eclipse.ui.elementFactories

Beschreibung: An diesem Erweiterungspunkt können Elementfactories zur Workbench hinzugefügt werden. Eine Elementfactory wird verwendet, um Objekte IAdaptable erneut zu erstellen, die auch nach einer Beendigung der Workbench bestehen bleiben.

Eine Elementfactory wird beispielsweise verwendet, damit die Editoreingabe bestehen bleibt. Die Eingabe für einen Editor muss org.eclipse.ui.EditorInput implementieren. Der Lebenszyklus eines Objekts IEditorInput in einem Editor besteht aus mehreren Phasen.

  1. Die erste Eingabe für einen Editor wird während der Erstellung des Editors übergeben.
  2. Bei der Beendigung wird der Workbenchstatus erfasst. In diesem Prozess erstellt die Workbench für jeden Editor und dessen Eingabe ein Erinnerungselement ("Memento"). Die Eingabe wird als zweiteiliges Erinnerungselement gespeichert, das eine Factory-ID und alle Basiselementdaten enthält, die zum erneuten Erstellen des Objekts beim Starten der Workbench benötigt werden. Weitere Informationen finden Sie in der Dokumentation zu org.eclipse.ui.IPersistableElement.
  3. Beim Starten wird der Workbenchstatus gelesen, und die Editoren aus der vorherigen Sitzung werden erneut erstellt. In diesem Prozess erstellt die Workbench das Eingabeelement für jeden geöffneten Editor erneut. Hierzu wird die Originalfactory-ID für das Eingabeelement zu einer konkreten Factoryklasse zugeordnet, die in der Registrierung definiert ist. Falls eine Zuordnung vorliegt und die Factoryklasse gültig ist, wird ein Exemplar der Factoryklasse erstellt. Anschließend fordert die Workbench von der Factory die erneute Erstellung des Originalelements aus den übrigen Basiselementdaten im Erinnerungselement an. Das resultierende Objekt IAdaptable wird per Umsetzungsausdruck in ein Objekt IEditorInput umgewandelt und an den neuen Editor übergeben.

Konfigurationsbefehle:

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

Beispiele: Das folgende Beispiel zeigt eine Erweiterung für eine Elementfactory.

   <extension 
        point = "org.eclipse.ui.elementFactories"> 
        <factory 
           id ="com.xyz.ElementFactory" 
           class="com.xyz.ElementFactory"> 
        </factory> 
    </extension> 

API-Informationen: Der Wert des Attributs class muss der vollständig qualifizierte Name einer Klasse sein, die org.eclipse.ui.IElementFactory implementiert. Ein Exemplar dieser Klasse muss aus einem Workbench-Memento ein Objekt IAdaptable erstellen.

Bereitgestellte Implementierung: Die Workbench stellt eine Factory für IResource zur Verfügung. Zusätzliche Factories sollten hinzugefügt werden, um andere Typen von IAdaptable, die häufig in anderen Objektmodellen (z. B. dem Java-Modell) verwendet werden, erneut zu erstellen.

Copyright (c) 2002 IBM Corporation und Andere. Alle Rechte vorbehalten. Dieses Programm und sein Begleitmaterial werden gemäß den Bedingungen der "Common Public License v1.0" zur Verfügung gestellt, die diese Verteilung begleitet und unter "http://www.eclipse.org/legal/cpl-v10.html" abgerufen werden kann.