2009/03/23

groovyでjEditマクロを組む際のjEditクラス取得方法

groovyを使用してjEditマクロを組む際に悩んでしまった箇所があったのでメモ。

組み込み型のクラス(java.lang.Dateなど)は

java.lang.Date.parse(...)

のようにstaticメソッドを呼び出し可能だが、

外部ライブラリのクラス(org.gjt.sp.jedit.jEditなど)は

org.gjt.sp.jedit.jEdit.newFile(...)

のようにstaticメソッドを呼び出そうとしてエラーとなってしまう。ただし、jEditのマクロとして呼び出さず、コマンドラインから通常通り呼び出す場合にはエラーとならない。

jEditマクロをgroovyで記述する際には、以下のように指定してstaticメソッドを呼び出さなければいけないみたい。

Class.forName("org.gjt.sp.jedit.jEdit").newFile(...)

jEditのbshマクロで、新しいバッファを作成する処理として

jEdit.newFile(view)

という記述がされていたが、groovyではこの命令は以下のようになる。

Class.forName("org.gjt.sp.jedit.jEdit").newFile(view)

説明がわかりにくいかも。

0 件のコメント:

コメントを投稿