Классы модулей

Пока мы познакомились лишь с различными расширениями, предоставляемыми утилитой readme. Рассмотрим общее определение модуля утилиты readme.

Определение модуля

Модуль утилиты readme определяется в файле MANIFEST.MF.

Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Plugin.name
Bundle-SymbolicName: org.eclipse.ui.examples.readmetool; singleton:=true
Bundle-Version: 3.2.0.qualifier
Bundle-ClassPath: readmetool.jar
Bundle-Activator: org.eclipse.ui.examples.readmetool.ReadmePlugin
Bundle-Vendor: %Plugin.providerName
Bundle-Localization: plugin
Require-Bundle: org.eclipse.ui,
 org.eclipse.core.resources,
 org.eclipse.core.runtime,
 org.eclipse.ui.views,
 org.eclipse.ui.ide,
 org.eclipse.jface.text,
 org.eclipse.text,
 org.eclipse.ui.workbench.texteditor,
org.eclipse.ui.editorsEclipse-AutoStart: true
Eclipse-AutoStart-comment: Вместо Eclipse-LazyStart используйте Eclipse-AutoStart, потому что пример readme должен выполняться как в версии
3.1, так и в версии 3.2.

В определение модуля входят параметры Bundle-Name, Bundle-SymbolicName (ИД модуля), Bundle-Version и Bundle-Vendor. Мы уже встречались с большинством из этих параметров в модуле "hello world". Утилита readme также задает специализированный класс модулей ReadmePlugin.

Также задается имя jar-файла. Имена файлов, заданные в параметре Bundle-ClassPath, указаны относительно каталога модуля, таким образом, jar-файл утилиты readme должен быть расположен непосредственно в каталоге модуля.

Элемент Require-Bundle сообщает платформе о зависимостях утилиты readme. Модули пользовательского интерфейса рабочей среды перечислены как обязательные модули вместе с различными модулями ядра, jface и текстовыми модулями.

AbstractUIPlugin

Класс ReadmePlugin представляет модуль утилиты readme и управляет жизненным циклом модуля.   Как мы видели в примере "Hello World", необязательно указывать класс модуля.  За вас это сделает платформа.  В этом случае наш модуль должен инициализировать при запуске связанные с пользовательским интерфейсом данные.  Класс платформы AbstractUIPlugin задает структуру для управления ресурсами пользовательского интерфейса и расширяется с помощью ReadmePlugin.

AbstractUIPlugin использует общие методы запуска и отключения для управления изображениями, параметрами окон и хранением свойств во время существования модуля.  Мы рассмотрим особенности класса ReadmePlugin при обсуждении работы с окнами и параметрами.