Fabryki elementów
Identyfikator:
org.eclipse.ui.elementFactories
Opis:
Ten punkt rozszerzenia
umożliwia dodawanie fabryk elementów do środowiska roboczego. Fabryka elementów
służy do odtwarzania obiektów IAdaptable, które są utrwalane
podczas zamykania środowiska roboczego.
Na przykład fabryka elementów może być używana do utrwalenia danych wejściowych
edytora. Dane wejściowe edytora muszą implementować klasę org.eclipse.ui.EditorInput.
Na cykl życia interfejsu IEditorInput w obrębie edytora składa się kilka faz.
-
Początkowe dane wejściowe edytora są przekazywane podczas jego tworzenia.
-
Przy zamykaniu systemu przechwytywany jest stan środowiska roboczego. W
procesie tym środowisko robocze tworzy obiekt memento dla każdego otwartego
edytora i jego danych wejściowych. Dane wejściowe są zapisywane jako
dwuczęściowy obiekt memento zawierający identyfikator fabryki oraz dane
podstawowe niezbędne do odtworzenia elementu podczas uruchamiania systemu.
Więcej informacji na ten temat można znaleźć w dokumentacji interfejsu
org.eclipse.ui.IPersistableElement.
-
Podczas uruchamiania odczytywany jest stan środowiska roboczego i
odtwarzane są edytory z poprzedniej sesji. W procesie tym środowisko robocze
odtwarza element danych wejściowych dla każdego otwartego edytora. W tym celu
odwzorowuje oryginalny identyfikator fabryki odpowiadający elementowi danych
wejściowych na konkretną klasę fabryki zdefiniowaną w rejestrze.
Jeśli istnieje odwzorowanie i klasa fabryki jest poprawna, następuje utworzenie
instancji klasy fabryki. Następnie środowisko robocze zleca fabryce odtworzenie
oryginalnego elementu z pozostałych danych podstawowych znajdujących się w
obiekcie memento. Otrzymany w ten sposób interfejs IAdaptable
jest rzutowany na interfejs IEditorInput i przekazywany do nowego
edytora.
Znaczniki konfiguracji:
<!ELEMENT extension (factory*)>
<!ATTLIST extension
point CDATA #REQUIRED
id CDATA
#IMPLIED
name CDATA #IMPLIED>
- point - pełny identyfikator docelowego punktu rozszerzenia.
- id - opcjonalny identyfikator instancji rozszerzenia.
- name - opcjonalna nazwa instancji rozszerzenia.
<!ELEMENT factory EMPTY>
<!ATTLIST factory
id CDATA #REQUIRED
class CDATA #REQUIRED>
- id - unikalna nazwa, która będzie używana do identyfikowania tej fabryki.
- class - pełna nazwa klasy implementującej interfejs org.eclipse.ui.IElementFactory.
Przykłady:
Poniżej przedstawiono
przykład rozszerzenia fabryki elementów:
<extension
point =
"org.eclipse.ui.elementFactories"
>
<factory
id =
"com.xyz.ElementFactory"
class=
"com.xyz.ElementFactory"
>
</factory>
</extension>
Informacje o interfejsie API:
Wartość
atrybutu class musi być pełną nazwą klasy implementującej
interfejs org.eclipse.ui.IElementFactory. Instancja tej klasy musi
utworzyć obiekt IAdaptable z obiektu memento środowiska roboczego.
Dostarczana implementacja:
W
środowisku roboczym jest dostępna fabryka IResource.
W celu odtworzenia innych typów IAdaptable występujących
najczęściej w innych modelach obiektów, takich jak model Java, należy dodać
kolejne fabryki.
Copyright (c) 2002, 2004 IBM Corporation i inne podmioty.
Wszelkie prawa zastrzeżone. Program ten oraz towarzyszące mu materiały są udostępniane na warunkach
licencji EPL (Eclipse Public License), wersja 1.0, dołączonej do nich i
dostępnej pod adresem http://www.eclipse.org/legal/epl-v10.html.