「Eclipse JDT – Abstract Syntax Tree (AST) and the Java Model – Tutorial」を翻訳した(1)

android用の神経衰弱ゲームを公開しました(・∀・)
The Match-up(Memory) game for android was released!

Google Play:
Mole's Match-up.

Introduction page:
Mole’s Match-upをリリースした∩( ・ω・)∩


www.vogella.comのhttp://www.vogella.com/tutorials/EclipseJDT/article.html
紹介されていたチュートリアルを翻訳した。多少端折った部分と追加した部分がある。


取り敢えずプラグインを幾つかインストールしていないといけないのだけれども、今ひとつ
どれが必須かよくわからないw「Pleiades All in one」の全部入りだったら[更新の確認]をして
“Eclipse プラットフォーム SDK”を追加インストールするだけで大丈夫だったような気も
したけれども、自信がない(ノ∀`) 取り敢えず下に示す5つが入っていれば動いた。
不要な物もあるかもしれないけれどもキニシナイ(゚ε゚)

  1. [新規ソフトウェアのインストール]を選択。
    jdttutorial001
  2. “すべての使用可能なサイト”を選択。
    jdttutorial002
  3. 下の4つと”Eclipse SDK”を選択。
    jdttutorial003
  4. <次へ>をクリック。
    jdttutorial004
  5. “使用条件の条項に同意します”を選択して、<完了>をクリック。
    jdttutorial005
  6. <はい>をクリック。
    jdttutorial006

1. Eclipse JDT

1.1. 概要


Eclipse Java開発ツール(JDT)はJavaのソースコードにアクセスして操作する為のAPIを提供します。これはワークスペース内の既存プロジェクトへのアクセス、新しいプロジェクトの作成、既存プロジェクトの修正及び読取りををすることが出来ます。これはさらにJavaプログラムを起動することが出来ます。

JDTは2つの方法でJavaのソースコードへアクセス出来ます。Java ModelとXML DOMと似たドキュメントオブジェクトモデルであるAbstract Syntax Tree (AST)です。

1.2 Java Model


各Javaプロジェクトはeclipseで内部的にJava Modelとして表されます。eclipseのJava Modelは軽量かつ耐障害性のあるJavaプロジェクトの表現です。

これはAbstract Syntax Tree(AST)ほど多くの情報を含みませんが、作成が高速です。例えば、アウトラインビューはその表現にJava Modelを使用しています:この形で、アウトラインビュー内の情報の素早い更新が可能になっています。

Java Modelはorg.eclipse.jdt.coreプラグイン内で定義されています。

Java Modelは以下の表によって説明出来るツリー構造として表現されます。

プロジェクト要素 Java Model要素 説明
Java プロジェクト IJavaProject 他のオブジェクト全てを含むJavaプロジェクト
srcフォルダ/binフォルダ/または外部ライブラリ IPackageFragmentRoot ソース又はバイナリファイルを保持します。フォルダまたはライブラリ(zip/jarファイル)になることが出来ます。
各パッケージ IPackageFragment 各パッケージはIPackageFragmentRoot以下に在ります。サブパッケージはパッケージの枝葉ではなく、IPackageFragmentRoot以下に直接?リストされます。
Javaソースファイル ICompilationUnit ソースファイルは常にパッケージノードの下に在ります。
タイプ/フィールド/メソッド IType / IField / IMethod タイプ、フィールド及びメソッド

1.3. Abstract Syntax Tree (AST) アブストラクトシンタックスツリー


ASTはJavaソースコードのツリー構造の詳細表現です。ASTはソースコードを修正、作成、読取り及び削除する為のAPIを定義します。

ASTの主要なパッケージはorg.eclipse.jdt.core.domと呼ばれ、org.eclipse.jdt.coreプラグイン内に位置します。

各JavaソースファイルはASTNodeクラスのサブクラスとして表現されます。
具体的なASTノードはそれぞれ、それが表すオブジェクトについての具体的な情報を提供します。例えば、あなたは (メソッドについての)MethodDeclaration, (変数宣言についての)VariableDeclarationFragment及び(Javaキーワードではないあらゆる文字列についての)SimpleName を持ちます。

ASTは通常、Java ModelのICompilationUnitに基いて作成されます。

2.前提条件


この記事はあなたがelipseプラグイン開発に精通していることを前提としています。eclipseプラグイン開発の導入を見て下さい。ユーザーインターフェイスに関したアクティビティ(例えばビュー拡張ポインの作成)についてはeclipse RCPチュートリアルを見て下さい。
 

3. JDT Java モデルを用いたJavaプロジェクトへのアクセス

以下の内容は、JDT Java Model APIを使用することによってワークスペースのプロジェクトを読み取り、それらのプロジェクトの全てのパッケージとJavaのソースファイルを取得し、それらの全てのメソッドを読み取るコマンドを作成します

“de.vogella.jdt.infos”という名前のプラグインプロジェクトを作成します。テンプレートとして”Hello World, コマンド”を選択します。

以下の依存関係をあなたのプラグインへ追加します:

org.eclipse.core.resources
org.eclipse.jdt
org.eclipse.jdt.core
org.eclipse.core.runtime
org.eclipse.jdt.ui
org.eclipse.jface.text

  1. ツールバーの<新規>をクリック。
    jdttutorial025
  2. “プラグイン・プロジェクト”を選択して<次へ>をクリック。
    jdttutorial024
  3. プロジェクト名に”de.vogella.jdt.infos”を入力して<次へ>をクリック。
    jdttutorial007
  4. <次へ>をクリック。
    jdttutorial010
  5. “Hello, world コマンド”を選択して<完了>をクリック。
    jdttutorial011
  6. プロジェクトが作成され、MANIFEST.MFが表示されます。
    jdttutorial012
  7. 「依存関係」タブをクリックし、<追加>をクリック。
    jdttutorial013
  8. 上記で指定された6つのプラグインを追加。
    jdttutorial014
    jdttutorial015
    jdttutorial016
    jdttutorial017
    jdttutorial018
    jdttutorial026
  9. 全て追加したことを確認したら、一回保存。
    jdttutorial019

    保存していないと後でSampleHandler.javaに内容を貼り付けた時に以下のようなエラーが出る。
    jdttutorial020


長いので分割した(ノ∀`) 続く

「Eclipse JDT – Abstract Syntax Tree (AST) and the Java Model – Tutorial」を翻訳した(2)
「Eclipse JDT – Abstract Syntax Tree (AST) and the Java Model – Tutorial」を翻訳した(3)