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ね)にも呼ばれる。。 つまり検索しながら並行で結果が表示されるってこと。
関連リンク †
この記事は
現在のアクセス:9602