[seasar-javadoc:220] Re: MethodDef.java
Koichi Kobayashi
koichik @ improvement.jp
2006年 6月 13日 (火) 03:00:21 JST
小林 (koichik) です.
Date: Tue, 13 Jun 2006 00:13:09 +0900
From: Seto Azusa <azusa @ fieldnotes.jp>
To: seasar-javadoc @ ml.seasar.org
Subject: [seasar-javadoc:217] MethodDef.java
> MethodDef.javaのJavaDocを書きましたので、レビューをお願いします。
お疲れ様です!!
> (1)setContainer()の記述はArgDef.javaの同名メソッドに揃えました。
> org.seasar.framework.container.impl.MethodDefImpl の実装も見た
> のですが、ArgDefSupportのインスタンスにS2コンテナを設定している
> ので、「引数を評価するコンテキストとなるS2コンテナを設定します。」
> であっているとは思うのですが...
間違ってるというほどではありませんが,実際には引数を評価
するためだけとは限らなくて,メソッドの代わりに式を与えられた
場合にその式を評価するコンテキストにもなります.
> (2)getContainer()とsetContainer(S2Container)は本来対にして、
> getContainerのところも「引数を評価するコンテキストとなるS2
> コンテナを取得します。」とか記述すべきなのかもしれませんが、
揃ってた方がいいですね.
表現が変わっていると,設定したのとは別のものが返ってくるかも
しれないと感じちゃいそうなので.
あと,get〜 は「〜を取得します」ではなく「〜を返します」で.
> (3)setExpression(Expression)とgetExpression()はタグ内に
> (この場合<initMethod>と<destroyMethod>)にOGNL式が書かれた場合に
> 設定されるという認識であってますでしょうか?
はい.
ただし,式は OGNL とは限りません.
XmlS2ContainerBuilder は式を OGNL として設定しますが,
例えば JavascriptExpressionImpl みたいな実装クラスを
setExpression() することもできるわけです.
ともあれ (JW),MethodDef は実際には BehaviorDef とかって方が
正確かもしれませんね.
必ずしもコンポーネントのメソッドが呼び出されるとは限らなくて,
<initMethod>@System @ out.println("hoge")</initMethod>
みたいなこともできちゃうわけなので.
そんなわけで (どんなわけで?),MethodDef のクラスコメントで
メソッドの実行だけでなく,任意の式を実行できるということを
書いた方がよさげですね.
んで,getExpression() のコメント
> * 実行されるメソッドとなる式を返します。
は「実行されるメソッド」ではなく「実行される式」の方が
よさげです.
--
<signature>
<name>Koichi Kobayashi</name>
<e-mail>koichik @ improvement.jp</e-mail>
</signature>
seasar-javadoc メーリングリストの案内