比較サンプル - キー/値ペアの構造の比較
概要
このサンプルは、キー/値ペアで構成されているファイルの構造の比較をサポートする方法を示します。
ここでは、カスタム構造体クリエーターのインプリメントと登録の方法を示しています。このクリエーターは、キー/値ペアを解析して、比較プラグインから提供される構造比較フレームワークへの入力として使用されるツリー構造に組み入れます。
それ以外に、個々のキー/値ペア用の標準テキスト・ビューアーも登録します。
このサンプルは、デモンストレーション専用です。
Java プロパティー・ファイル (別のキー/値のフォーマット) 用の構造比較のサポートが、Eclipse Java Tooling から提供されます。
サンプルの実行
- プロジェクトを作成します (Java プロジェクトとはかぎりません)。
- キー/値ペア・ファイル f1.kv を作成します。
- 「ウィンドウ」>「設定」>「ワークベンチ」>「ファイルの関連付け」を開き、デフォルト・テキスト・エディターをファイル拡張子 kv に関連付けます。
- エディターで f1.kv を開いて、以下の内容を入力します。
lastname=Doe
firstname=John
city=Chicago
state=IL
- このファイルのコピーを作成し、その名前を f2.kv に変更します。
- f2.kv を開き、ファーストネームを John から Mary に変更します。
- 別のキー/値ペア country=US を f2.kv に追加します。
- f1.kv と f2.kv の両方のファイルを選択します。
- コンテキスト・メニューで、「比較」>「相互」を選択します。
- 両方のファイルの構造上の相違を示した新規の比較エディターが、最上部のペインに開きます。
プロパティー firstname または country のうちの 1 つを選択すると、それに対応するキー/値ペアのテキストが、最下部のペインの標準テキスト比較ビューアーに取り込まれます。
サンプルのコード編成
サンプル・コードは、次のように単一のパッケージ org.eclipse.compare.examples.structurecreator 内に編成されています。
- KeyValuePairStructureCreator
これは、ストリームの内容を解析して、IStructureComparator のツリーに入れる構造体クリエーターです。
- TextMergeViewerCreator
これは、TextMergeViewers 用のファクトリーです。
これは、個々のキー/値ペアのタイプであるタイプ kvtxt 用に登録されます。
- Util
これは、NLS サポート用と、ストリングとしての InputStream の読み取り用のユーティリティー・メソッドを提供します。