플러그인 클래스

지금까지 readme 도구에서 제공하는 여러 가지 확장을 살펴보았습니다. readme 도구 플러그인의 일반 정의를 살펴보겠습니다.

플러그인 정의

readme 도구 플러그인은 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>
   ...

플러그인 정의에는 플러그인의 이름, ID, 버전제공자 이름이 포함됩니다. Hello World 플러그인에서 이미 이 매개변수의 대부분을 살펴 보았습니다. readme 도구에서는 특수 플러그인 클래스인 ReadmePlugin도 정의합니다.

jar 파일 이름도 제공됩니다. plugin.xml 파일에 지정된 파일 이름은 플러그인의 디렉토리에 관련되어 있으므로 readme 도구의 jar 파일이 플러그인의 디렉토리에 직접 위치해야 합니다.

requires 요소는 플랫폼에 readme 도구의 종속성을 알려줍니다. Workbench UI 플러그인은 다양한 코어, jface 및 텍스트 플러그인과 함께 필수 플러그인으로 나열됩니다.

AbstractUIPlugin

ReadmePlugin 클래스는 readme 도구 플러그인을 나타내고 플러그인의 라이프 사이클을 관리합니다.  Hello World 예에서 보았듯이 플러그인 클래스를 지정할 필요는 없습니다. 플랫폼에서 대신 제공합니다. 이 경우 플러그인을 시작할 때 플러그인에서 UI 관련 데이터를 초기화해야 합니다. 플랫폼 클래스 AbstractUIPlugin에서는 UI 자원을 관리하기 위한 구조를 제공하고 ReadmePlugin에 의해 확장됩니다.

AbstractUIPlugin에서는 일반적인 시작 및 종료 방법을 사용하여 플러그인의 지속시간 동안 이미지, 대화 상자 설정, 환경 설정 저장을 관리합니다.  대화 상자와 환경 설정을 사용할 경우 ReadmePlugin 클래스의 고유사항에 대해 살펴보겠습니다.