KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > jdon > container > builder > ContainerRegistry


1 /*
2  * Copyright 2003-2006 the original author or authors.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  * http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  *
15  */

16 package com.jdon.container.builder;
17
18 import com.jdon.aop.interceptor.InterceptorsChain;
19 import com.jdon.bussinessproxy.meta.POJOTargetMetaDef;
20 import com.jdon.container.ContainerWrapper;
21 import com.jdon.container.config.ComponentMetaDef;
22 import com.jdon.container.config.aspect.AspectComponentsMetaDef;
23 import com.jdon.container.config.app.AppConfigureCollection;
24 import com.jdon.controller.cache.InstanceCache;
25 import com.jdon.util.Debug;
26
27 /**
28  * all register methods for the container
29  * by a class manage all register implemention.
30  * ContainerBuilder is its client.
31  *
32  * @author <a HREF="mailto:banqiao@jdon.com">banq</a>
33  *
34  */

35 public class ContainerRegistry {
36     public final static String JavaDoc module = ContainerRegistry.class.getName();
37     
38     private ContainerWrapper containerWrapper;
39     
40     public ContainerRegistry(ContainerWrapper containerWrapper){
41         this.containerWrapper = containerWrapper;
42     }
43
44     
45     public void registerAppConfigureFiles(){
46         containerWrapper.register(AppConfigureCollection.NAME, AppConfigureCollection.class);
47     }
48   
49     
50     public void registerComponentMetaDef(ComponentMetaDef componentMetaDef){
51         try{
52             String JavaDoc name = componentMetaDef.getName();
53             String JavaDoc[] construtors = componentMetaDef.getConstructors();
54             String JavaDoc className = componentMetaDef.getClassName();
55             Class JavaDoc cclass = createClass(className);
56             containerWrapper.register(name, cclass, construtors);
57         }catch(Exception JavaDoc ex){
58             Debug.logError("[JdonFramework] registerComponentMetaDef error:" + ex, module);
59         }
60         
61     }
62
63     public void registerPOJOTargetMetaDef(POJOTargetMetaDef pOJOTargetMetaDef){
64         try{
65             String JavaDoc name = pOJOTargetMetaDef.getName();
66             String JavaDoc className = pOJOTargetMetaDef.getClassName();
67             Class JavaDoc cclass = createClass(className);
68             String JavaDoc[] construtors = pOJOTargetMetaDef.getConstructors();
69             containerWrapper.register(name, cclass, construtors);
70         }catch(Exception JavaDoc ex){
71             Debug.logError("[JdonFramework] registerPOJOTargetMetaDef error:" + ex, module);
72         }
73     }
74     
75     
76     public void registerAspectComponentMetaDef(AspectComponentsMetaDef componentMetaDef){
77         registerComponentMetaDef(componentMetaDef);
78     }
79
80   
81     private Class JavaDoc createClass(String JavaDoc className){
82       Class JavaDoc classService = null;
83       try{
84         ClassLoader JavaDoc classLoader = Thread.currentThread().getContextClassLoader();
85         classService = classLoader.loadClass(className);
86       }catch(Exception JavaDoc ex){
87         Debug.logError("[JdonFramework] createClass:" + ex, module);
88       }
89       return classService;
90
91     }
92 }
93
Popular Tags