JDTパッケージエクスプローラーにアクションを提供したいEclipseプラグインを書いています。アクションを実行するには、2 つの異なるファイルを選択する必要があります。したがって、そのアクションのコマンド ハンドラーで JDT パッケージ エクスプローラーのアクティブな選択を取得します。それが私の問題です。
現在、選択したファイルを抽出するコードにIStructuredSelection
は、約 30 行のコードで、複数の if ステートメントと複数の return を持つ複数のローカル変数が含まれています。そしてもちろん、このコードは少なくとも少し醜く見えます。
このコードをよりクリーンにするために、どの概念やパターンを使用する必要がありますか?
Eclipse プラットフォームでは、アダプター パターンを使用することをお勧めします。そこで、次のような pojo を作成することを考えました。
public class FooCommandArgs {
private IFile xmlFile;
private IFile csvFile;
//getters and setters here ...
}
から必要なアダプタを作成しIStructuredSelection
ます。ただし、これを行うと、醜いコードが他の場所に移動するだけです。