Jak dotąd omawiane były różne rozszerzenia udostępniane przez narzędzie readme. Nadszedł czas, aby przyjrzeć się ogólnej definicji modułu dodatkowego narzędzia readme.
Moduł dodatkowy narzędzia readme jest definiowany na samym początku pliku 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> ...
Definicja modułu dodatkowego obejmuje atrybuty name, id, version i provider name dla tego modułu. Większość tych parametrów występowała już w module dodatkowym hello world. Narzędzie readme definiuje także specjalną klasę modułu dodatkowego ReadmePlugin.
Udostępniana jest ponadto nazwa pliku JAR. Ponieważ nazwy plików są określane w pliku plugin.xml względem katalogu modułów dodatkowych, plik JAR narzędzia readme powinien znajdować się bezpośrednio w katalogu modułów dodatkowych.
Element requires informuje platformę o zależnościach narzędzia readme. Jako wymagane wymienione są moduły dodatkowe interfejsu użytkownika środowiska roboczego wraz z różnymi modułami dodatkowymi core, jface i text.
Klasa ReadmePlugin reprezentuje moduł dodatkowy narzędzia readme i zarządza cyklem życia tego modułu. Jak wiadomo z przykładu Hello World, określanie klasy modułu dodatkowego nie jest konieczne. Platforma może taką klasę udostępnić. W takiej sytuacji moduł dodatkowy musi zainicjować dane dotyczące interfejsu użytkownika podczas uruchamiania. Klasa platformy AbstractUIPlugin udostępnia strukturę do zarządzania zasobami interfejsu użytkownika i jest rozszerzana przez klasę ReadmePlugin.
Klasa AbstractUIPlugin używa ogólnych metod uruchamiania i zatrzymywania w celu zarządzania składnicą obrazów, ustawień okien dialogowych i preferencji w cyklu życia modułu dodatkowego. Szczegóły klasy ReadmePlugin zostaną przedstawione podczas pracy z oknami dialogowymi i preferencjami.