国産DIコンテナSeasarとくーす その4
■ このスレッドは過去ログ倉庫に格納されています
0486デフォルトの名無しさん
2005/08/30(火) 02:26:40頂いたアドバイスに従って自作で作ってみました。registAll()が初期化メソッドになります。
全ての登録コンポーネントの取得方法や、ComponentDefの初期化方法がよくわからないまま作ってしまいましたが・・・
private Class classObj;
private AspectDef aspectDef;
private S2Container container;
public void registAll() {
S2Container root = container.getRoot();
registContainer(root);
for (int i = 0; i < root.getChildSize(); i++) {
S2Container ct = root.getChild(i);
registContainer(ct);
}
}
private void registContainer(S2Container ct) {
for (int i = 0; i < ct.getComponentDefSize(); i++) {
ComponentDef cd = ct.getComponentDef(i);
regist(cd);
}
}
private void regist(ComponentDef componentDef) {
Class componentClass = componentDef.getComponentClass();
if (classObj.isAssignableFrom(componentClass)) {
componentDef.addAspectDef(aspectDef);
componentDef.destroy();
componentDef.init();
}
}
■ このスレッドは過去ログ倉庫に格納されています