A classe plug-in

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.

Definição do plug-in

O plug-in da ferramenta Leia me está definido no início do arquivo plugin.xml.

<plug-in
    name = "Readme File Editing Tool"
    id = "org.eclipse.ui.examples.readmetool"
    version = "0.9"
    provider-name = "Object Technology International, Inc."
    class="org.eclipse.ui.examples.readmetool.ReadmePlugin">

    <requires>
        <import plug-in="org.eclipse.ui"/>
        <import plug-in="org.eclipse.core.resources"/>
    </requires>

    <runtime>
        <library name="readmetool.jar"/> 
    </runtime>

A definição do plug-in inclui nome, id, versão e o nome do fornecedor do plug-in. Vimos esses 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.

AbstractUIPlugin

A classe ReadmePlugin representa o plug-in da ferramenta Leia me e gerencia o ciclo de vida dele.  Como vimos no exemplo Hello World, não é preciso especificar uma classe plug-in.  A plataforma irá fornecer uma para você.  Nesse caso, nosso plug-in precisará inicializar os dados relacionados à UI quando inicializar.  A classe da plataforma AbstractUIPlugin fornece uma estrutura para o gerenciamento dos 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 trabalhamos com diálogos e preferências.