Até agora, conversamos sobre as diferentes extensões fornecidas pela ferramenta leia-me. Vamos ver a definição geral do plug-in da ferramenta leia-me.
O plug-in da ferramenta de leia-me é definido no arquivo 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.editors Eclipse-AutoStart: true Eclipse-AutoStart-comment: Utilize Eclipse-AutoStart no lugar de Eclipse-LazyStart porque o exemplo do leia-me deve ser executado no 3.1 e também no 3.2.
A definição de plug-in inclui Bundle-Name, Bundle-SymbolicName (id do plug-in), Bundle-Version e Bundle-Vendor do plug-in. Vimos a maioria desses parâmetros antes no nosso plug-in hello world. A ferramenta leia-me define também uma classe plug-in especializada, ReadmePlugin.
O nome do arquivo jar também é fornecido. Nomes de arquivo especificados em Bundle-ClassPath são relativos ao diretório do plug-in, de modo que o arquivo jar da ferramenta de leia-me deve ser colocado diretamente no diretório do plug-in.
O elemento Require-Bundle informa a plataforma das dependências da ferramenta de leia-me. Os plug-ins da UI do ambiente de trabalho são listados como plug-ins requeridos, junto com o núcleo, jface e plug-ins de texto variados.
A classe ReadmePlugin representa o plug-in da ferramenta Leia-me e gerencia o ciclo de vida do plug-in. Como vimos no exemplo Hello World, não é necessário especificar uma classe de plug-in. A plataforma fornecerá uma para você. Nesse caso, nosso plug-in precisa inicializar dados relacionados à UI quando é iniciado. A classe da plataforma AbstractUIPlugin fornece uma estrutura para gerenciar recursos da UI e é estendida por ReadmePlugin.
AbstractUIPlugin utiliza métodos de inicialização e encerramento genéricos para gerenciar imagens, definições de diálogo e um armazenamento de preferências durante a existência do plug-in. Daremos uma olhada nos detalhes da classe ReadmePlugin quando trabalharmos com diálogos e preferências.