ワークベンチ・エディターの実装は、ユーザーのプラグインおよび編集する内容によって固有のものですが、 ワークベンチは、エディターを構築するための汎用的な構造を提供します。 以下の概念は、すべてのワークベンチ・エディターに適用されます。
エディターは IEditorPart を インプリメントする必要があり、多くの場合、EditorPart クラスを拡張して作成されます。 エディターは createPartControl メソッドにそのユーザー・インターフェースをインプリメントします。 このメソッドは、エディターの内容を表示する SWT ウィジェットまたは JFace ビューアーを組み立てるために使用されます。
エディター入力とは、編集されるもののことです。エディター入力は、ファイル名と考えることができます。 ただし実際は、もっと一般的なものです。 IEditorInput は、エディター入力に対してプロトコルを定義します。 このプロトコルには、入力の名前、エディターの上部のラベルにその入力を表示するために使用するイメージが含まれます。
プラットフォームでは、2 つの汎用のエディター入力が提供されています。 IFileEditorInput は、ファイル・システム内のファイルである入力を表しています。 IStorageEditorInput は、 バイトのストリームである入力を表しています。 これらのバイトは、ファイル・システム以外のソースからのものであってもかまいません。
エディターが、その入力オブジェクトを素早く置換する機能をサポートしていれば、 IReusableEditor をインプリメントする必要があります。 このインターフェースをインプリメントすることによって、ワークベンチはエディターを「再生」できます。 ワークベンチ・ユーザー設定では、ある数のエディターが開いた後、それらのエディターが再使用されるよう指示することができます。
エディターのナビゲーション・ヒストリーをインプリメントしたい場合、 INavigationLocationProvider を インプリメントする必要があります。 ここには、ナビゲーション・ヒストリーを保管しておくために必要な現在のナビゲーション・ロケーション (INavigationLocation) をワークベンチが要求するための機構が用意されています。 ワークベンチは、ナビゲーション・ユーザー・インターフェースの機構を処理します。 INavigationLocation は、 それが表すロケーションにエディターを復元しなければならないときに通知を受けます。
エディターの残りの実装は、表示する内容によって異なります。 次に、最も一般的なタイプのエディターであるテキスト・エディターについて説明します。