1 9 package org.nanocontainer.webcontainer; 10 11 import org.mortbay.jetty.servlet.ServletHolder; 12 import org.picocontainer.PicoContainer; 13 import org.picocontainer.defaults.DefaultPicoContainer; 14 15 import javax.servlet.Servlet ; 16 17 public class PicoServletHolder extends ServletHolder { 18 19 private final PicoContainer parentContainer; 20 21 public PicoServletHolder(PicoContainer parentContainer) { 22 this.parentContainer = parentContainer; 23 } 24 25 26 public PicoServletHolder(Class clazz, PicoContainer parentContainer) { 27 super(clazz); 28 this.parentContainer = parentContainer; 29 } 30 31 public synchronized Object newInstance() throws InstantiationException , IllegalAccessException { 32 DefaultPicoContainer child = new DefaultPicoContainer(parentContainer); 33 child.registerComponentImplementation(Servlet .class, _class); 34 return child.getComponentInstance(Servlet .class); 35 } 36 37 } | Popular Tags |