コンテンツアシスト用に有効なJavaクラスをひっぱってくる
IJavaSearchScope scope = SearchEngine.createWorkspaceScope(); SearchEngine engine = new SearchEngine(); ISearchPattern pattern = SearchEngine.createSearchPattern( "java.lang.Str*", IJavaSearchConstants.TYPE, IJavaSearchConstants.DECLARATIONS, true); engine.search(getWorkspace(), pattern, scope, this); return (String[])proposals.toArray(new String[0]);
Javaエディタのコンテンツアシストをおっていくと最終的にSearchEngineクラスを利用してるもよう。ただ、このままだと検索ヒット数が増えるとちょっと遅い。また、この方法はキーワードによる検索はいけるが、サブクラスを探すとかは難しいようだ(インターフェイスを実装したクラスとかは探せるが)。特定のクラスのサブクラスなどを探す場合は次のページの方法が参考になる。
型の仲間達(サブクラス,スーパークラス)の取得方法
http://yoichiro.cocolog-nifty.com/eclipse/2004/03/post_5.html