[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 メーリングリストの案内