Top / Eclipse / プラグイン開発のTIPS集 / org.eclipse.search.ui.ISearchQuery(検索クエリクラス)

org.eclipse.search.ui.ISearchQuery? はEclipseの検索フレームワークのコントローラになるクラスです。検索フレームワークの全体像はEclipse/プラグイン開発のTIPS集/Eclipseの検索画面を作成するにまとめてあるので、このインタフェースの各メソッドの意味だけまとめておきます。

インタフェース

public interface ISearchQuery {
  IStatus run(IProgressMonitor monitor) throws OperationCanceledException;
  String getLabel();
  boolean canRerun();
  boolean canRunInBackground();
  ISearchResult getSearchResult();
}

各メソッド

IStatus run(IProgressMonitor? monitor) throws OperationCanceledException?;
検索処理を実行するメソッドです。このクラスで検索ビジネスロジックを実行し、getSearchResult?で返却するためのISearchResult? のインスタンスを構築します。
String getLabel()
検索中ウィンドウの名称(左上のラベル)を設定します。
boolean canRerun();
右クリックのショートカットメニューから「再検索」をできるようにするかどうか。
boolean canRunInBackground?();
trueにしておくと検索のバックグラウンド実行が可能。NewSearchUI.runQueryInBackground?(new ISearchQuery?()の実装クラス);などとすることができる。逆にfalseだと実行時エラーが発生する。falseの場合は、NewSearchUI.runQuery(new ISearchQuery?()の実装クラス);やNewSearchUI.runQueryInForeground?(new ProgressMonitorDialog?(getShell()),new ISearchQuery?()の実装クラス); を使う*1でもNewSearchUI.runQueryはすでにdeprecated。
ISearchResult? getSearchResult?();
検索結果を取得するメソッド。これは検索中(上のrunね)にも呼ばれる。。 つまり検索しながら並行で結果が表示されるってこと。

関連リンク


この記事は

選択肢 投票
おもしろかった 0  
そうでもない 1  

Top / Eclipse / プラグイン開発のTIPS集 / org.eclipse.search.ui.ISearchQuery(検索クエリクラス)

現在のアクセス:9602


*1 第一引数はIRunnableContext?何ですけど、何だっけ??プログレスバーか。

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-01-12 (金) 14:31:09 (2520d)