Elementfabriker

org.eclipse.ui.elementFactories

Den här utökningspunkten används för att lägga till elementfabriker i arbetsmiljön. En elementfabrik används för att återskapa IAdaptable-objekt som permanentas under arbetsmiljöavstängningen.

Elementfabriken används t.ex. för att permanenta redigerarindata. Indata för en redigerare måste implementera org.eclipse.ui.EditorInput. Livscykeln för en IEditorInput inom en redigerare har ett antal faser.

  1. Initiala indata för en redigerare överförs när redigeraren skapas.
  2. Vid avstängning fångas arbetsmiljöläget upp. I denna process skapar arbetsmiljön ett memento för varje öppen redigerare och dess indata. Indata sparas som ett tvådelat memnto med fabriks-ID och alla primitiva data som behövs för att återskapa elementet vid starten. Mer information finns i dokumentationen för org.eclipse.ui.IPersistableElement.
  3. Vid start läses arbetsmiljöläget, redigerarna från föregående session återskapas. I den här processen återskapar arbetsmiljön indataelementet för varje öppen redigerare. För att göra detta avbildas det ursprungliga fabriks-ID för indataelementet till en konkret fabriksklass som definieras i registret. Om det finns en avbildning, och om fabriksklassen är giltig, skapas en förekomst av fabriksklassen. Arbetsmiljön ber sedan fabriken återskapa det ursprungliga elementet från återstående primitiva data inom mementot. Det resulterande IAdaptable typomvandlas till en IEditorInput och överförs till den nya redigeraren.

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


Följande är ett exempel på en utökning av elementfabrik:

   

<extension point =

"org.eclipse.ui.elementFactories"

>

<factory id =

"com.xyz.ElementFactory"

class=

"com.xyz.ElementFactory"

>

</factory>

</extension>

Värdet i attributet class måste vara ett fullständigt kvalificerat namn för en klass som implementerar org.eclipse.ui.IElementFactory. En förekomst av den här klassen måste skapa ett IAdaptable-objekt från ett arbetsmiljömemento.

Arbetsmiljön tillhandahåller enIResource-fabrik. Flera fabriker bör läggas till för att återskapa andra IAdaptable-typer som ofta förekommer i andra objektmodeller, t.ex. Java-modellen.