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