Jak dotąd omawiane były różne rozszerzenia udostępniane przez narzędzie readme. Nadszedł czas, aby przyjrzeć się ogólnej definicji wtyczki narzędzia readme.
Wtyczkę narzędzia readme zdefiniowano w pliku 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 Uwaga dotycząca funkcji Eclipse-AutoStart: Zaleca się korzystanie z funkcji Eclipse-AutoStart zamiast funkcji Eclipse-LazyStart, ponieważ przykładowy plik readme powinien zostać uruchomiony w wersji 3.1 i 3.2.
Definicja wtyczki zawiera jej atrybuty Bundle-Name, Bundle-SymbolicName (identyfikator wtyczki), Bundle-Version oraz Bundle-Vendor. Większość tych parametrów występowała już we wtyczce hello world. Narzędzie readme definiuje także specjalną klasę wtyczki ReadmePlugin.
Udostępniana jest ponadto nazwa pliku JAR. Nazwy plików określone w atrybucie Bundle-ClassPath są względne wobec katalogu wtyczki, w związku z czym plik jar narzędzia readme powinien znajdować się bezpośrednio w katalogu wtyczki.
Element Require-Bundle zawiera informacje przeznaczone dla platformy, dotyczące zależności narzędzia readme. Jako wymagane wymienione są wtyczki interfejsu użytkownika środowiska roboczego wraz z różnymi wtyczkami core, jface i text.
Klasa ReadmePlugin reprezentuje wtyczkę narzędzia readme i zarządza cyklem życia tej wtyczki. Jak wiadomo z przykładu Hello World, określanie klasy wtyczki nie jest konieczne. Platforma może taką klasę udostępnić. W takiej sytuacji wtyczka 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 wtyczki. Szczegóły klasy ReadmePlugin zostaną przedstawione podczas pracy z oknami dialogowymi i preferencjami.