@Inject仕様をGoogle/SpringSourceがJCPにドラフト提出
@Inject仕様をJCPにドラフトとして提出した模様。
どうやらSpring、Guiceだけでなく、PicoContainer、Plexus、あとTapestry IoCの人も参加するようです。
記述内容をざっと読むと、どうやらメインターゲットがJavaSEでJDK5から使えるようにしようとのことみたい。
なので、JavaEEじゃなくても使える点が好印象。非常にロウレベルなAPIを提供するんだというのが仕様全体に書かれているので、
そういうJSRはなんとなくよい気がします。
ポイントになりそうな点を幾つか。
Java SE 5 will be the minimum requirement, but Java SE 6 and 7-specific features will be available on those platforms.
APIもjavaxでなくて、もしかしたらjava.injectになるかもしれない。
2.8 Is there a proposed package name for the API Specification? (i.e., javapi.something, org.something, etc.)
javax.inject or java.inject
時期はEarly Draftが2009Q3、Public Reviewが2009Q4、そしてFinalが2010Q1。
2.13 Please describe the anticipated schedule for the development of this specification:
Early Draft Review would occur in Q3 '09. Public Review during Q4 '09, and Proposed Final Draft in Q1 '10.
RIとTCKについては、RIはJava7のモジュールで同梱。
TCKはASL2ライセンスか何かで誰でも試せるようにするということ。
TCKは全部そうすべきだと思う。素晴らしい♪
2.16 Please describe how the RI and TCK will be delivered, i.e. as part of a profile or platform edition, or stand-alone, or both. Include version information for the profile or platform in your answer.:
The RI will be standalone but may also be included as a module in Java SE 7. The RI and TCK will be Apache-licensed and freely available.
2.18 Please provide a description of the business terms for the Specification, RI and TCK that will apply when this JSR is final.:
Everything will be licensed under Apache 2.0.
最後に一言ぐさり。
この仕様は前に出た仕様から学んだ教訓を元に、よりシンプルでツールで使いやすくなるってw
ちがった。
この仕様は前に出た実装(たぶんSpringとGuiceのことだろうね)から学んだ教訓を元に、よりシンプルでツールで使いやすくなるってw
3.2 Explanation of how these items might be used as a starting point for the work.
This specification will incorporate lessons learned from pre-existing injector implementations. Benefiting from hindsight, it will be simpler and more toolable.
CrazyBobさんのブログの掲載がこれ。