Továrny prvků

org.eclipse.ui.elementFactories

Tento bod rozšíření se používá pro přidávání továren prvků do pracovní plochy. Továrna prvků se používá pro opětovné vytvoření objektů IAdaptable, které jsou udrženy během vypnutí pracovní plochy.

Továrnu prvků lze například použít k udržení vstupu editoru. Vstup editoru musí implementovat org.eclipse.ui.EditorInput. Životní cyklus IEditorInput v rámci editoru má řadu fází.

  1. Počáteční vstup editoru je zadán během vytváření editoru.
  2. Při vypnutí je zachycen stav pracovní plochy. V rámci tohoto procesu vytvoří pracovní plocha memento pro každý otevřený editor a jeho vstup. Vstup je uložen jako memento o dvou částech; obsahuje tovární ID a případné primitivní údaje potřebné pro opětovné vytvoření prvku při spuštění. Další informace viz dokumentace org.eclipse.ui.IPersistableElement.
  3. Při spuštění je přečten stav pracovní plochy a jsou vytvořeny editory z předchozí relace. V rámci tohoto procesu pracovní plocha opětovně vytvoří vstupní prvek pro každý otevřený editor. Za tímto účelem namapuje originální ID továrny vstupního prvku na konkrétní třídu továrny definovanou v registru. Pokud mapování existuje a třída továrny je platná, bude vytvořena instance třídy továrny. Poté pracovní plocha požádá továrnu o opětovné vytvoření originálního prvku ze zbývajících primitivních dat v mementu. Výsledný IAdaptable je přetypován na IEditorInput a předán do nového editoru.

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


Uvádíme příklad rozšíření prvku továrny:

   

<extension point =

"org.eclipse.ui.elementFactories"

>

<factory id =

"com.xyz.ElementFactory"

class=

"com.xyz.ElementFactory"

>

</factory>

</extension>

Hodnota atributu class musí být plně kvalifikovaný název třídy Java implementující org.eclipse.ui.IElementFactory. Instance této třídy musí vytvořit objekt IAdaptable z mementa pracovní plochy.

Pracovní plocha poskytuje továrnu IResource. Další továrny by měly být přidány, aby bylo možné opětovně vytvořit ostatní typy IAdaptable běžně se nacházející v dalších modelech objektů, jako například v modelu Java.