1 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 35 public class ContainerRegistry { 36 public final static String 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 name = componentMetaDef.getName(); 53 String [] construtors = componentMetaDef.getConstructors(); 54 String className = componentMetaDef.getClassName(); 55 Class cclass = createClass(className); 56 containerWrapper.register(name, cclass, construtors); 57 }catch(Exception ex){ 58 Debug.logError("[JdonFramework] registerComponentMetaDef error:" + ex, module); 59 } 60 61 } 62 63 public void registerPOJOTargetMetaDef(POJOTargetMetaDef pOJOTargetMetaDef){ 64 try{ 65 String name = pOJOTargetMetaDef.getName(); 66 String className = pOJOTargetMetaDef.getClassName(); 67 Class cclass = createClass(className); 68 String [] construtors = pOJOTargetMetaDef.getConstructors(); 69 containerWrapper.register(name, cclass, construtors); 70 }catch(Exception 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 createClass(String className){ 82 Class classService = null; 83 try{ 84 ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); 85 classService = classLoader.loadClass(className); 86 }catch(Exception ex){ 87 Debug.logError("[JdonFramework] createClass:" + ex, module); 88 } 89 return classService; 90 91 } 92 } 93 | Popular Tags |