NetBeans APIのミソは

プログラムを構成するのにNodeとSystem FileSystemが、メニューやボタンの処理にAction/Cookieが、そして、関連付けられたオブジェクトを引っ張ってくるのにLookupの理解が必要だなぁ。
それさえわかれば、あとはサンプルさえあればどうにでもなりそう。


クラスローダーの壁にはよくひっかかる。

Object o = Hogehoge.getHoge();
System.out.println(o.getClass().getName());
((org.netbeans.somemodule.Foo)o).bar();

とやると

org.netbeans.somemodule.Foo

とか出てくるくせにorg.netbeans.somemodule.FooがないというClassNotFoundExceptionが出てきたりする。


NetBeansは他のモジュールに公開するパッケージを指定できて、公開してないパッケージのクラスは他のモジュールからは見えなくなってたりするわけです。
で、しかたがないからお手紙書いた、さっきの手紙のごようじなあに?
じゃなくて、しかたがないからリフレクションで呼び出すという極悪非道。