[Seasar-user:15809] Re: Componentの判定

"TAKEUCHI Shinichi / 竹 "TAKEUCHI Shinichi / 竹
2008年 9月 22日 (月) 17:29:59 JST


お世話になります、竹内です。

  たとえばListの処理で、無用な干渉や、無用なThreadSafe機構を
断絶するために、
   List list = new ArrayList(inputList);
 のようにコピーしているのですが、ここに意図された拡張クラス
のObjectがきた場合にせっかく仕込んだIntercetorとかが意味なし
になってしまうため、S2で拡張された場合にはそのまま使用する
ようにしたいのです。
  if (XXUtil.isS2Component(inputList)) {
      list = inputList;
  } else {
    ....
  }


On Sat, 20 Sep 2008 00:00:11 +0900
Koichi Kobayashi <[E-MAIL ADDRESS DELETED]> wrote:

> 小林 (koichik) です.
> 
> Date:    Fri, 19 Sep 2008 22:31:55 +0900
> From:    "TAKEUCHI Shinichi / 竹内 伸一" <[E-MAIL ADDRESS DELETED]>
> To:      "S2ML" <[E-MAIL ADDRESS DELETED]>
> Subject: [Seasar-user:15794] Componentの判定
> 
> >   S2でDI/AOPされたオブジェクトかどうかを判定する
> > 簡単な方法はありますか? クラス名を取り出すと途中
> > に「$」が入ったりするのは目印なのでしょうが、確実
> > にAOPされていることを確認できる方法はないでしょうか?
> 
> S2 が AOP を適用したクラスには確実に
> "$$EnhancedByS2AOP$$" というサフィックス
> (さらにこの後に hashCode 値が加えられる) が
> 付きますが,これが付いているからといって
> S2 が AOP を適用したクラスとは限りません.
> # 普通そんな名前のクラスを作るのは S2 だけだと
> # 思いますが.
> 
> どういった理由で確認したいのでしょうか?
> 
> 
> -- 
> <component name="koichik">
>     <property name="fullName">"Koichi Kobayashi"</property>
>     <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
>     <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
> </component>
> 
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
> 

-- 
TAKEUCHI Shinichi / 竹内 伸一 <[E-MAIL ADDRESS DELETED]>



Seasar-user メーリングリストの案内