Пока мы познакомились лишь с различными расширениями, предоставляемыми утилитой readme. Рассмотрим общее определение модуля утилиты readme.
Модуль утилиты readme определяется в верхней части файла plugin.xml.
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin
id="org.eclipse.ui.examples.readmetool"
name="%Plugin.name"
version="2.1.0"
provider-name="%Plugin.providerName"
class="org.eclipse.ui.examples.readmetool.ReadmePlugin">
<runtime>
<library name="readmetool.jar"/>
</runtime>
<requires>
<import plugin="org.eclipse.ui"/>
<import plugin="org.eclipse.core.resources"/>
<import plugin="org.eclipse.core.runtime.compatibility"/>
<import plugin="org.eclipse.ui.views"/>
<import plugin="org.eclipse.ui.ide"/>
<import plugin="org.eclipse.jface.text"/>
<import plugin="org.eclipse.text"/>
<import plugin="org.eclipse.ui.workbench.texteditor"/>
<import plugin="org.eclipse.ui.editors"/>
</requires>
...
Определение модуля включает в себя имя, ИД, версию и имя провайдера модуля. Мы уже встречались с большинством из этих параметров в модуле "hello world". Утилита readme также задает специализированный класс модулей ReadmePlugin.
Также задается имя jar-файла. Имена файлов, заданные в файле plugin.xml, указаны относительно каталога модуля, таким образом, jar-файл утилиты readme должен быть расположен непосредственно в каталоге модуля.
Элемент requires сообщает платформе о зависимостях утилиты readme. Модули пользовательского интерфейса рабочей среды перечислены как обязательные модули вместе с различными модулями ядра, jface и текстовыми модулями.
Класс ReadmePlugin представляет модуль утилиты readme и управляет жизненным циклом модуля. Как мы видели в примере "Hello World", необязательно указывать класс модуля. За вас это сделает платформа. В этом случае наш модуль должен инициализировать при запуске связанные с пользовательским интерфейсом данные. Класс платформы AbstractUIPlugin задает структуру для управления ресурсами пользовательского интерфейса и расширяется с помощью ReadmePlugin.
AbstractUIPlugin использует общие методы запуска и отключения для управления изображениями, параметрами окон и хранением свойств во время существования модуля. Мы рассмотрим особенности класса ReadmePlugin при обсуждении работы с окнами и параметрами.