Адаптеры

org.eclipse.core.runtime.adapters

3.0

Точка расширения адаптеров позволяет модулям декларативно регистрировать фабрики адаптеров. Эта информация позволяет языку выражений XML времени выполнения определять, существуют ли адаптеры, не загружая модули. Регистрация фабрик адаптеров посредством точки расширения исключает необходимость вручную регистрировать фабрики адаптеров при запуске модуля.

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


Ниже приведен пример объявления адаптера. Этот пример объявляет, что данный модуль предоставит фабрику адаптера, которая будет преобразовывать объекты типа IFile в объекты типа 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>

Фабрики адаптеров, зарегистрированные с помощью этой точки расширения, можно запрашивать с помощью метода IAdapterManager.hasAdapter или извлекать с помощью одного из методов getAdapter в IAdapterFactory. Фабрику адаптеров, зарегистрированную с помощью этой точки расширения, не требуется регистрировать во время выполнения с помощью IAdapterFactory.registerAdapters.

Несколько модулей платформы предоставляют адаптеры для различных объектов IAdaptable.