Elementfactory's
ID:
org.eclipse.ui.elementFactories
Beschrijving:
Dit extensiepunt wordt gebruikt om elementfactory's toe te voegen aan de workbench. Een elementfactory wordt gebruikt om IAdaptable-objecten opnieuw te maken die zijn bevroren tijdens het afsluiten van de workbench.
Er wordt bijvoorbeeld een elementfactory gebruikt om de editorinvoer te bevriezen. De invoer van een editor moet org.eclipse.ui.EditorInput implementeren. De levenscyclus van de IEditorInput in een editor bestaat uit een aantal fasen.
-
De begininvoer van een editor wordt doorgegeven tijdens het maken van de editor.
-
Bij het afsluiten wordt de status van de workbench vastgelegd. Tijdens dit proces maakt de workbench een memento voor iedere open editor en de invoer daarvan. De invoer wordt opgeslagen als tweedelig memento met een factory-ID en de vereiste gegevens voor het maken van een element tijdens het opstarten. Raadpleeg de documentatie van org.eclipse.ui.IPersistableElement voor verdere informatie.
-
Bij het opstarten wordt de status van de workbench gelezen en worden de editors uit de vorige sessie opnieuw gemaakt. Tijdens dit proces maakt de workbench een invoerelement voor iedere open editor. Om dit te doen wijst de workbench het oorspronkelijke factory-ID voor het invoerelement toe aan een concrete factoryklasse die in het register is gedefinieerd. Als er een toewijzing bestaat en de factoryklasse geldig is, wordt een instance van de factoryklasse gemaakt. De workbench vraagt de factory vervolgens om het originele element opnieuw te maken uit de resterende basisgegevens in het memento. De resulterende IAdaptable wordt gecast naar een IEditorInput en doorgestuurd naar de nieuwe editor.
Configuratiemarkup:
<!ELEMENT extension (factory*)>
<!ATTLIST extension
point CDATA #REQUIRED
id CDATA #IMPLIED
name CDATA #IMPLIED>
- point - een volledig gekwalificeerd ID van het doelextensiepunt.
- id - een optioneel ID van de extensie-instance.
- name - een optionele naam van de extensie-instance.
<!ELEMENT factory EMPTY>
<!ATTLIST factory
id CDATA #REQUIRED
class CDATA #REQUIRED>
- id - een unieke naam die wordt gebruikt voor het identificeren van deze factory.
- class - de volledig gekwalificeerde naam van een klasse die org.eclipse.ui.IElementFactory implementeert.
Voorbeelden:
Een voorbeeld van een elementfactory-extensie:
<extension
point =
"org.eclipse.ui.elementFactories"
>
<factory
id =
"com.xyz.ElementFactory"
class=
"com.xyz.ElementFactory"
>
</factory>
</extension>
API-informatie:
Het kenmerk class moet de volledig gekwalificeerde naam zijn van de klasse die org.eclipse.ui.IElementFactory implementeert. Een instance van deze klasse moet een IAdaptable-object maken uit een workbenchmemento.
Verstrekte implementatie:
De workbench biedt een IResource-factory. Er moeten aanvullende factory's worden toegevoegd om andere IAdaptable-typen te maken die in andere objectmodellen gevonden kunnen worden, bijvoorbeeld het Java-model.
Copyright (c) 2002, 2004 IBM Corporation en anderen.
Alle rechten voorbehouden. Dit programma en het begeleidende materiaal zijn beschikbaar gesteld onder de voorwaarden van de Eclipse Public License v1.0 die bij deze distributie is geleverd en beschikbaar is op http://www.eclipse.org/legal/epl-v10.html.