[Seasar-user:9375] Re: [s2jsf]独自タグ/コンポーネントをDIに定義したい

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2007年 7月 23日 (月) 22:07:56 JST


米林です。

1点、確認させて下さい。

> そこで思いつく方法が、独自のSelector/Processor
> を実装する方法ですが、これだと今開発中のProjectが
> Seaser依存になってしまうので可能であれば避るべきと考えています。
> 同様の理由で、実行時にSingletonS2ContainerFactoryなどから他の
> コンポーネントを取得するのも避けるべきと考えています。

この部分は理解出来ました。
Seasar依存したくないという事ですよね?

ですが、以下の

> 実行時に該当クラスの生成が今はnewInstance()が呼ばれて行われている
> のですが、これをDI経由にしてDIにてassembleしたいと言う要望になります。
> もっと直接的に言いますと、今は、
> org.seasar.jsf.processor.TagProcessorImpl
> のprocessで
> Tag tag = (Tag) ClassUtil.newInstance(tagClass);
> となっているのでDI上に存在する他のクラスが
> 自動バインディング(コンストラクタ)されないのを
> されるようにできないかと言う要望になります。

ここで鈴木さんがおっしゃっている "DI" という言葉は
S2を指しているように見受けられます。
"DI上に存在する他のクラス"というのも
Seasar2で管理しているcomponentという風に取れます。
# 間違っていたらすいません

ですので、まとめると
-------------------------------------------
S2依存させたくないけれどS2管理下のcomponentを
独自タグクラスにDIされるようにしたい
-------------------------------------------
となるので少し矛盾しているのかな?と思ってしまいました。

鈴木さんのやりたい事を私が汲み取れてない可能性が
ありますが、回答宜しくお願いします。

----- Original Message ----- 
From: "鈴木 順" <[E-MAIL ADDRESS DELETED]>
Sent: Monday, July 23, 2007 9:21 PM

> 説明足らずで、すみません。
> 配置済みの独自タグライブラリに含まれる独自タグクラスです。
> (UIComponentTagの実装です)
> (独自tld等は既にjsf.diconに定義済みで動作もしています)
>
> 実行時に該当クラスの生成が今はnewInstance()が呼ばれて行われている
> のですが、これをDI経由にしてDIにてassembleしたいと言う要望になります。
> もっと直接的に言いますと、今は、
> org.seasar.jsf.processor.TagProcessorImpl
> のprocessで
> Tag tag = (Tag) ClassUtil.newInstance(tagClass);
> となっているのでDI上に存在する他のクラスが
> 自動バインディング(コンストラクタ)されないのを
> されるようにできないかと言う要望になります。
>
> そこで思いつく方法が、独自のSelector/Processor
> を実装する方法ですが、これだと今開発中のProjectが
> Seaser依存になってしまうので可能であれば避るべきと考えています。
> 同様の理由で、実行時にSingletonS2ContainerFactoryなどから他の
> コンポーネントを取得するのも避けるべきと考えています。
>
> 私的には下のようにできるとありがたいと言った感じです。
>
> >あつかましい話ですが、独自実装したタグクラスをどこかの
> >diconファイルに登録したらOKであるといった形が最もうれしいです。
> >
> >また独自コンポーネントも同様に扱えるようになると、
> >私的にはすごく良い感じです。
> >これもやはり、
> >独自用にComponentLookupStrategyを拡張するしかないのでしょうか?

---
米林 正明
[E-MAIL ADDRESS DELETED]




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