-Nature & Builder

コメントいただきました、NatureとBuilderの件です。「coreでNative、Builderを作って、ExtensionPointでVaridaterやGEFなGUIXML Editorとつなぐ感じかと思います。」下のコメントの書くところが狭かったので、なんか呪文みたいになっちゃいました。すいません。
まず、NativeとBuilderはEclipseプラグインの用語です。Eclipseのプロジェクトを作るウィザードで、「Java Project」を普通は選ぶと思います。あまり「Simple Project」とか「Plug-in Project」は選ばないと思いますが、ためしにちょっと作ってみてください。SimpleProjectではNatureもBuilderも入らないのですが、JavaProjectでは、JavaNatureとJavaBuilderが入ります。Natureはプロジェクトの種類ともいえるもので、これが入ることによって、プロジェクトのプロパティを開いたところで設定できる項目が定義されます。Javaだとたとえば「Java Build Path」というプロパティ設定が現れるじゃないですか。ああいったものをプロジェクトの種類に応じて出す機能のEclipseへの引っ掛けがNatureです。また、Builderはプロジェクトプロパティ設定の「External tools builder」に登録される機能で、登録するとプロジェクト内のファイルが更新される度にビルド作業をします。JavaBuilderがJavaソースをコンパイルしてくれるように、S2の設定ファイルが更新されたら都度設定ファイルが正しいかどうかバリデーションかけたりするタイミングをつくれます。SpringUIだと、プロジェクト中のXMLの中で、どれがコンテナの設定ファイルかを識別するために、プロジェクトに登録するところはNatureがあってできる機能です。設定結果を永続化しなければいけませんが、永続化の引っ掛けもNatureです。
S2だったらたとえばルートとなる設定XMLがどれかとか、Groovy-Seasarを設定で使うかどうかとかのプロジェクトレベルの設定を永続化する機能を作りこむことになるかなと思います。SpringUIの機能カタログをWEBで見ると、バリデーションもやるらしいので、まず間違いなくBuilderもつくっているでしょう。ということで、参考になるかと思いSpringUIのソースをダウンロードしようと思ったのですが、ソースのアーカイブが見当たらない。。。オープンソースじゃないのかな?
「core」というのは、S2CorePluginとか名前をつけるであろう上記NatureとBuilderなどのどうしてもいる機能を作りこむプラグインのつもりで書いてました。