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 leia-me está definido no início do arquivo plugin.xml.
<plugin name = "%Plugin.name" id = "org.eclipse.ui.examples.readmetool" version = "2.0.0" provider-name = "%Plugin.providerName" class="org.eclipse.ui.examples.readmetool.ReadmePlugin"> <requires> <import plugin="org.eclipse.ui"/> <import plugin="org.eclipse.core.resources"/> </requires> <runtime> <library name="readmetool.jar"/> </runtime> ...
A definição do plug-in inclui o nome, o id, a versão e o nome do provedor 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.
Os plug-ins de recursos e de UI do workbench estão listados como plug-ins necessários, para que a plataforma saiba que a ferramenta Leia-me depende deles.
Finalmente, o nome do arquivo jar é fornecido. Os nomes de arquivo especificados no arquivo plugin.xml estão relacionados ao diretório do plug-in.
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.