Element-factories

org.eclipse.ui.elementFactories

Dette utvidelsespunktet blir brukt til å legge til element-factories på arbeidsbenken. Element-factory blir brukt til å gjenopprette IAdaptable-objekter som er faste ved avslutning av arbeidsbenken.

Som et eksempel blir element-factory brukt til å opprettholde redigeringsprograminndata. Inndataene for et redigeringsprogram må implementere org.eclipse.ui.EditorInput. Livssyklusen til en IEditorInput i et redigeringsprogram har en rekke faser.

  1. De første inndataene for et redigeringsprogram blir sendt når redigeringsprogrammet opprettes.
  2. Ved avslutning blir arbeidsbenktilstanden registrert. I løpet av denne prosessen oppretter arbeidsbenken et memento for hvert åpent redigeringsprogram og de tilhørende inndataene. Inndataene blir lagret som et todelt memento som inneholder en factory-ID og eventuelle primitive data som kreves for å gjenopprette elementet ved oppstart. Du finner mer informasjon i dokumentasjonen på org.eclipse.ui.IPersistableElement.
  3. Ved oppstart blir arbeidsbenktilstanden lest, og redigeringsprogrammene fra den forrige sesjonen blir gjenopprettet. I løpet av denne prosessen gjenoppretter arbeidsbenken inndataelementet for hvert åpent redigeringsprogram. Den tilordner da den opprinnelige factory-IDen for inndataelementet til en konkret factory-klasse definert i registeret. Hvis tilordningen finnes, og factory-klassen er gyldig, blir det opprettet en forekomst av factory-klassen. Arbeidsbenken ber da factory om å gjenopprette det opprinnelige elementet fra de resterende primitive dataene i mementoet. Den resulterende IAdaptable blir omvandlet til en IEditorInput og sendt til det nye redigeringsprogrammet.

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


Nedenfor finner du et eksempel på en utvidelse for element-factory.

   

<extension point =

"org.eclipse.ui.elementFactories"

>

<factory id =

"com.xyz.ElementFactory"

class=

"com.xyz.ElementFactory"

>

</factory>

</extension>

Verdien på class-attributtet må være et fullt kvalifisert navn på en klasse som implementerer org.eclipse.ui.IElementFactory. En forekomst av denne klassen må opprette et IAdaptable-objekt fra et arbeidsbenkmemento.

Arbeidsbenken har IResource-factory. Andre factories skal legges til for å gjenopprette andre IAdaptable-typer som er vanlig i andre objektmodeller, for eksempel Java-modellen.