[seasar-javadoc:309] Re: ClassUnmatchRuntimeException

Koichi Kobayashi koichik @ improvement.jp
2006年 7月 5日 (水) 03:00:06 JST


小林 (koichik) です.

Date:    Tue, 04 Jul 2006 14:03:49 +0900
From:    Hideaki Suzuki <suzuki @ uinet.or.jp>
To:      seasar-javadoc @ ml.seasar.org
Subject: [seasar-javadoc:301]  ClassUnmatchRuntimeException

> ClassUnmatchRuntimeException の Javadoc Milestone 1 です。

お疲れ様です.
クラスコメントですが,

>  * {@link Expression コンポーネント生成式}でインスタンスの生成を定義している場合は、
>  * そのインスタンスをコンポーネント定義のクラスにキャスト出来ないことを表します。

この @link は ComponentDef#setExpression() がよさげ.


>  * {@link ComponentDef コンポーネント定義}を指定して、
>  * 外部コンポーネントにS2コンテナ上のコンポーネントをインジェクションする場合は、 その外部コンポーネントを、
>  * インジェクションの際に指定したコンポーネント定義のクラスにキャスト出来ないことを表します。

ここはちょっと分かりにくいかも.
もうちょっとスッキリさせて,

 * 外部コンポーネントを{@link S2Container#injectDependency(Object)}などで
 * インジェクションする場合は、そのコンポーネントをコンポーネント定義に
 * 指定されたクラスにキャストできないことを表します。

とかでどうかなぁ.

> @see はこのくらいでよいでしょうか?

検索した感じではよいみたいですね.


・getComponentClass()

>      * コンポーネントの定義上のクラスを返します。

「コンポーネント定義に指定されたクラス」でいいような.


・getRealComponentClass()

>      * {@link AspectDef アスペクト}が適用されたコンポーネントインスタンスのクラスを返します。

アスペクトが適用されていない場合もあるというか,

<component class="java.lang.Integer">"Hoge"</code>

みたいな場合もあるわけなので,

* コンポーネントの実際の型を返します。

とか.


-- 
<component name="koichik">
    <property name="fullName">"Koichi Kobayashi"</property>
    <property name="email">"koichik @ improvement.jp"</property>
    <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>



seasar-javadoc メーリングリストの案内