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

2019-02-28Groovy,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)

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

2019-02-28Groovy,jEdit