[Seasar-user:6323] Re: コンテナに登録されているPOJOなクラスにインジェクトしたい

加藤 潤一 [E-MAIL ADDRESS DELETED]
2007年 2月 24日 (土) 09:00:11 JST


小林さん、

加藤です。

> final Pattern pattern = Pattern.compile(".*Job");
> final List l = new ArrayList();
> Traversal.forEachComponent(container,
>   new Traversal.ComponentDefHandler() {
>     public Object processComponent(ComponentDef componentDef) {
>       Class clazz = componentDef.getComponentClass();
>       if (clazz != null && p.matcher(clazz.getName()).matches) {
>         l.add(componentDef);
>       }
>       return null;
>     }
>   });

おお、このコードでも全然問題ないのですが、S2Container自身が検索してくれることを期待してしまうのですが、、、

ComponentDef[] defs = s2container.findAllComponentDefs(“/.*Job/”);

とさせるのはあまりよくないですかね? /がついているときだけPatternで検索みたいな。
とりあえず1票入れておきます。


> とが,どう繋がるのかよく分かりませんでしたが.

言葉足らずで、すみません。。。
POJOのメソッドをリフレクションでコールしたかっただけです。おかげでなんとかなりそうです。

えっと、それから

Object target = componentDef.getComponent();

すると、DIされたtargetが取得できるということでいいんですよね?



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