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(検索クエリクラス)

現在のアクセス:9970


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

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2026-07-15 (水) 00:03:23