Ant Gui Editor
org.eclipse.ui.editorsを拡張するけど、表示しようとするファイルを読み込む部分ってどこだろうと追っていてやっと分かった馬鹿者なのであるが、ここに書いておく。
エディタクラス(継承)
TextEditor系を継承したエディタクラスの場合
public void doSetInput(IEditorInput input);をオーバーライドする。
GraphicalEditorとかを継承したエディタクラスの場合
public void setInput(IEditorInput input);をオーバーライドする。
TextEditorはsetInput()をfinal指定で実装してあって、doSetInput()を単に呼び出す形になっている。なんでfinal指定なんだろう。
依存関係
org.eclipse.core.resources → IFileを使うのに必須
org.eclipse.ui.ide → IFileEditorInputを使うのに必須
ファイル読み込み方法
Antのbuild.xmlを読み込むのでこんな感じ
public void setInput(IEditorInput input){
IFile file = ((IFileEditorInput)input).getFile();
InputStream is = file.getContext();
DocumentBuilderFactory dbf =
DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(is);
//docを使ってモデルに変換・・・
}