Elemgyárak

org.eclipse.ui.elementFactories

Ez a kiterjesztési pont elemgyárakat ad a munkaterülethez. Az elemgyár újból létrehozza az IAdaptable objektumokat, amelyek tárolásra kerülnek a munkaterület-leállítás során.

Az elemgyár tárolhatja például a szerkesztőbemenetet. A szerkesztő bemenetének meg kell valósítania az org.eclipse.ui.EditorInput elemet. A szerkesztő IEditorInput elemének életciklusa számos fázisból áll.

  1. A szerkesztő kezdeti bemenete a szerkesztőlétrehozás során kerül átadásra.
  2. Leállításkor a munkaterület-állapot mentésre kerül. Ebben a folyamatban a munkaterület minden megnyitott szerkesztőhöz és ezek bemeneteihez létrehoz egy emlékeztetőt. A bemenet kétrészes emlékeztetőként kerül mentésre, amely a gyárazonosítót és az elem indításkor újbóli létrehozásához szükséges primitív adatokat tartalmazza. További információkat az org.eclipse.ui.IPersistableElement dokumentációja tartalmaz.
  3. Indításkor a munkaterület állapota kiolvasásra kerül, és az előző munkamenet szerkesztői létrehozásra kerülnek. Ebben a folyamatban a munkaterület újból létrehozza minden megnyitott szerkesztő bemeneti elemét. Ehhez leképezi a bemeneti elem eredeti gyárazonosítóját a lerakatban megadott konkrét gyárra. Ha a leképezés létezik, és a gyárosztály érvényes, akkor létrejön a gyárosztály egy példánya. Ezután a munkaterület megkéri a gyárat, hogy hozza újból létre az eredeti elemet az emlékeztetőben lévő primitív adatok maradék részéből. Az eredményül kapott IAdaptable átalakításra kerül IEditorInput elemmé, és átadódik az új szövegszerkesztőnek.

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


Az alábbi az elemgyár-kiterjesztés példája:

   

<extension point =

"org.eclipse.ui.elementFactories"

>

<factory id =

"com.xyz.ElementFactory"

class=

"com.xyz.ElementFactory"

>

</factory>

</extension>

A class attribútum értékének az org.eclipse.ui.IElementFactory elemet megvalósító osztály teljes képzésű nevének kell lennie. Az osztály példányának a munkaterület-emlékeztetőből létre kell hoznia egy IAdaptable objektumot.

A munkaterület egy IResource gyárat biztosít. Más objektummodellekben - mint például a Java modell - általánosan megtalálható másik IAdaptable típusok létrehozásához további gyárakat kell hozzáadni.