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

Пока мы познакомились лишь с различными расширениями, предоставляемыми утилитой 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 и текстовыми модулями.

AbstractUIPlugin

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

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