0
|
1 \section{Eclipseへの実装}
|
|
2 Eclipse はオープンソースの統合開発環境 (IDE) の 1 つであり、Java により記述されている。Eclipse はプラグインとして様々な機能を組み込むことができるよう設計されていて、拡張性が高くできている。Eclipse への REP の実装は、この Eclipse プラグインを利用する。
|
|
3 Eclipse プラグインとは、Eclipse に付け加える拡張機能のことである。実際、Eclipse 自身がプラグインの集合体として設計されている。
|
|
4
|
|
5
|
|
6 REPのEclipseへの実装では、次の改善を行った。
|
|
7
|
|
8 まず、以前の実装では、EclipseのTextEditorクラスを継承したクラスを作成して実装を行っていた。この方法ではエディタへの機能拡張が可能である一方(相手の編集に色を付けるなど)、EclipseのJavaEditorの標準の機能である、メソッド補完機能やリファクタリングの機能などを使用することができなかった。
|
|
9 このため、外部からテキストバッファへアクセスする実装に変更し、メソッド補完機能やリファクタリング機能などを使用することを可能にした。
|
|
10
|
|
11 また、以前の実装では、REP部分ソースコードと、EclipseのGUI部分ソースコードが混在した実装となっていた。
|
|
12 REPは今後様々なJavaアプリケーションに実装されることが予想される。
|
|
13 そのため、再利用性の高いソースコードを作成するために、このREP部分とEclipse部分のソースコードの分離を行った。
|
|
14
|
|
15 %実装例を図\ref{fig:implement_eclipse}に示す。
|
|
16 %REP部分(Eclipse非依存部分)のプログラムはREPEditorクラスに記述するそして、Eclipse依存部分の処理(テキストバッファへのアクセスなど)はREPTextインターフェースを実装したEclipseTextクラス記述している。REPEditorでは直接EclipseTextオブジェクトを扱わず、REPTextインターフェースを介してアクセスする。これにより、REP部分のソースコードからEclipse依存部分のソースコードを排除することができる。
|
|
17 %
|
|
18 %\begin{figure}[htpb]
|
|
19 % \begin{center}
|
|
20 % \includegraphics[scale=.3]{figure/implement_eclipse.pdf}
|
|
21 % \end{center}
|
|
22 % \caption{Eclipseへの実装}
|
|
23 % \label{fig:implement_eclipse}
|
|
24 %\end{figure}
|
|
25 %
|
|
26 %この方法を用いて、他のJavaアプリケーションにREPを実装する際は、REPTextインターフェースを実装した、クラスだけを作成することによって、REPを実装することができる。
|
|
27 %実際に次の章で説明するJava版簡易エディタも、この方法を用いて実装している。
|
|
28
|
|
29 今回の実際のEclipseへの実装で比較すると、全体のソースコードが750行程度であるのに対して、Eclipse依存部分のコードは250行程度に抑えられている。 |