1 package org.nanocontainer.webcontainer; 2 3 import javax.servlet.Filter ; 4 5 import org.mortbay.jetty.servlet.FilterHolder; 6 import org.picocontainer.PicoContainer; 7 import org.picocontainer.defaults.DefaultPicoContainer; 8 9 public class PicoFilterHolder extends FilterHolder { 10 11 private final PicoContainer parentContainer; 12 13 public PicoFilterHolder(PicoContainer parentContainer) { 14 this.parentContainer = parentContainer; 15 } 16 17 public PicoFilterHolder(Class filterClass, PicoContainer parentContainer) { 18 super(filterClass); 19 this.parentContainer = parentContainer; 20 } 21 22 public synchronized Object newInstance() throws InstantiationException , IllegalAccessException { 23 DefaultPicoContainer child = new DefaultPicoContainer(parentContainer); 24 child.registerComponentImplementation(Filter .class, _class); 25 return child.getComponentInstance(Filter .class); 26 } 27 28 29 } 30 | Popular Tags |