Elementfabrikker
Id:
org.eclipse.ui.elementFactories
Beskrivelse:
Dette udvidelsespunkt bruges til at tilføje elementfabrikker til arbejdsbænken. En elementfabrik bruges til at genoprette IAdaptable-objekter, der bevares ved afslutning af arbejdsbænken.
Eksempelvis bruges elementfabrikken til at bevare editorinput. Inputtet til en editor skal implementere org.eclipse.ui.EditorInput.
Livscyklussen for en IEditorInput i en editor har en række faser.
-
Det første input for en editor overføres under oprettelsen af editoren.
-
Ved afslutning fastholdes arbejdsbænkens tilstand. I denne proces opretter arbejdsbænken et memento for hver åben editor og dens input. Inputtet gemmes i et todelt memento, der indeholder en fabriks-id og eventuelle primitive data, der kræves for at oprette elementet igen ved start. Der er flere oplysninger i dokumentationen til org.eclipse.ui.IPersistableElement.
-
Ved start læses arbejdsbænkens tilstand, og editorerne fra den forrige session oprettes igen. I denne proces genopretter arbejdsbænken inputtet for alle åbne editorer. Det gør den ved at tilknytte den oprindelige fabriks-id for inputelementet vha. mapping til en konkret fabriksklasse, defineret i registreringsdatabasen. Hvis der findes en tilknytning vha. mapping, og fabriksklassen er gyldig, oprettes der en forekomst af fabriksklassen. Derefter beder arbejdsbænken fabrikken om at oprette det oprindelige element igen ud fra de tilbageværende primitive data i mementoet. Den IAdaptable, der oprettes som et resultat, formes til en IEditorInput og overføres til den nye editor.
Konfigurationskode:
<!ELEMENT extension (factory*)>
<!ATTLIST-udvidelse
point CDATA #REQUIRED
id CDATA #IMPLIED
navn CDATA #IMPLIED>
- point - en fuldstændig id for måludvidelsespunktet.
- id - en valgfri id for udvidelsesforekomsten.
- name - et valgfrit navn på udvidelsesforekomsten.
<!ELEMENT factory EMPTY>
<!ATTLIST factory
id CDATA #REQUIRED
class CDATA #REQUIRED>
- id - et entydigt navn, der skal bruges til at identificere fabrikken.
- class - et fuldstændigt navn på en klasse, der implementerer org.eclipse.ui.IElementFactory
Eksempler:
Her er et eksempel på et udvidelsespunkt til en elementfabrik:
<extension
point =
"org.eclipse.ui.elementFactories"
>
<factory
id =
"com.xyz.ElementFactory"
class=
"com.xyz.ElementFactory"
>
</factory>
</extension>
API-oplysninger:
Værdien af attributten class skal være et fuldstændigt navn på en klasse, der implementerer org.eclipse.ui.IElementFactory. En forekomst af denne klasse skal oprette et IAdaptable-objekt fra et arbejdsbænksmemento.
Leveret implementering:
Arbejdsbænken leverer en IResource-fabrik. Der skal tilføjes yderligere fabrikker, hvis du vil genoprette andre IAdaptable-typer, som almindeligvis findes i andre objektmodeller, f.eks. Java-modellen.
Copyright (c) 2002, 2004 IBM Corporation and others.
All rights reserved. This program and the accompanying materials are made
available under the terms of the Eclipse Public License v1.0 which accompanies
this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html