1 package org.sapia.regis.bean; 2 3 import java.lang.reflect.Proxy ; 4 5 import org.sapia.regis.Node; 6 import org.sapia.regis.Registry; 7 import org.sapia.regis.RegistryProvider; 8 9 17 public class BeanFactory { 18 19 25 public static Object newBeanInstanceFor(Registry reg, Node node, Class interf){ 26 NodeInvocationHandler handler = new NodeInvocationHandler(reg, node, interf); 27 return newBeanInstanceFor(node, interf, handler); 28 } 29 30 static Object newBeanInstanceFor(Node node, Class interf, NodeInvocationHandler handler){ 31 ClassLoader loader = Thread.currentThread().getContextClassLoader(); 32 if(loader == null){ 33 loader = BeanFactory.class.getClassLoader(); 34 } 35 return Proxy.newProxyInstance(loader, new Class []{interf, RegistryProvider.class}, handler); 36 } 37 38 } 39 | Popular Tags |