Adaptery

org.eclipse.core.runtime.adapters

3.0

Punkt rozszerzenia adapterów pozwala modułom dodatkowym deklaratywnie rejestrować fabryki adapterów. Informacje te są używane przez język wyrażeń XML środowiska wykonawczego do określania, czy istnieją adaptery, bez konieczności ładowania modułów dodatkowych. Zarejestrowanie fabryk adapterów za pośrednictwem punktu rozszerzenia eliminuje potrzebę ręcznego rejestrowania tych fabryk podczas uruchamiania modułów dodatkowych.

<!ELEMENT extension (factory+)>

<!ATTLIST extension

point CDATA #REQUIRED

id    CDATA #IMPLIED

name  CDATA #IMPLIED>


<!ELEMENT factory (adapter+)>

<!ATTLIST factory

adaptableType CDATA #REQUIRED

class         CDATA #REQUIRED>


<!ELEMENT adapter EMPTY>

<!ATTLIST adapter

type CDATA #REQUIRED>


Poniżej przedstawiono przykładową deklarację adaptera. W tym przykładzie zadeklarowano, że moduł dodatkowy udostępni fabrykę adapterów dostosowującą obiekty typu IFile do obiektów typu MyFile.

      

<extension point=

"org.eclipse.core.runtime.adapters"

>

<factory class=

"com.xyz.MyFileAdapterFactory"

adaptableType=

"org.eclipse.core.resources.IFile"

>

<adapter type=

"com.xyz.MyFile"

/>

</factory>

</extension>

Fabryki adapterów zarejestrowane przy użyciu tego punktu rozszerzenia mogą być odpytywane za pomocą metody IAdapterManager.hasAdapter lub wydobywane za pomocą jednej z metod getAdapter dostępnych w interfejsie IAdapterFactory. Fabryka adapterów zarejestrowana w tym punkcie rozszerzenia nie wymaga rejestrowania w czasie wykonawania przy użyciu metody IAdapterFactory.registerAdapters.

Kilka modułów dodatkowych platformy udostępnia adaptery dla różnych obiektów IAdaptable.