Factory-Dienstprogramme für Elemente
Kennung: org.eclipse.ui.elementFactories
Beschreibung: An diesem Erweiterungspunkt können
Factory-Dienstprogramme für Elemente zur Workbench hinzugefügt
werden. Mit einem
Factory-Dienstprogramm für Elemente
können Objekte IAdaptable erneut erstellt werden, die bei
einer Beendigung der Workbench permanent erhalten bleiben.
Das Factory-Dienstprogramm für Elemente wird beispielsweise
verwendet, um eine Editoreingabe zu erhalten. Die Eingabe für
einen
Editor muss org.eclipse.ui.IEditorInput implementieren.
Der Lebenszyklus von IEditorInput in einem Editor umfasst
eine Anzahl von Stadien.
-
Die erste Eingabe für einen Editor wird während der Erstellung des
Editors übergeben.
-
Bei einer Beendigung der Workbench wird der Status erfasst. Bei
diesem Prozess erstellt die Workbench für jeden geöffneten
Editor und dessen Eingabe eine Art "Erinnerungselement" (Memento).
Die Eingabe wird in einem solchen zweiteiligen Element gespeichert,
das eine ID für das Factory-Dienstprogramm sowie alle Basisdaten
enthält, die zum erneuten Erstellen des Elements beim Systemstart
erforderlich sind. Weitere Informationen finden Sie in der
Dokumentation über org.eclipse.ui.IPersistableElement.
-
Beim Systemstart wird der Status der Workbench 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. Zu diesem Zweck wird die
ursprüngliche ID des Factory-Dienstprogramms für das
Eingabeelement einer konkreten Klasse für Factory-Dienstprogramme
zugeordnet, die in der Registrierung definiert ist.
Wenn eine Übereinstimmung festgestellt wird und die Klasse für das
Factory-Dienstprogramm gültig ist, wird ein Exemplar dieser Klasse
erstellt. Anschließend weist die Workbench das Factory-Dienstprogramm
an, das ursprüngliche Element aus den verbleibenden Basisdaten
erneut zu erstellen. Das resultierende Objekt IAdaptable
wird in ein Objekt IEditorInput umgesetzt und an den neuen
Editor übergeben.
Konfigurationsbefehle:
<!ELEMENT factory EMPTY>
<!ATTLIST factory
id CDATA
#REQUIRED
class
CDATA #REQUIRED
>
-
id: Ein eindeutiger Name, der dieses
Factory-Dienstprogramm kennzeichnet.
-
class: Der vollständig qualifizierte Name einer Klasse, die
org.eclipse.ui.IElementFactory implementiert.
Beispiele:
Im Folgenden ist ein Beispiel einer Erweiterung für ein
Factory-Dienstprogramm für Elemente dargestellt:
<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 ein Factory-Dienstprogramm für IResource zur
Verfügung.
Zur erneuten Erstellung anderer
Typen von IAdaptable, die in anderen Objektmodelle (z. B.
dem Java-Modell) häufig zu finden sind, sollten zusätzliche
Factory-Dienstprogramme erstellt werden.