KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > nanocontainer > webcontainer > PicoServletHolder


1 /*****************************************************************************
2  * Copyright (C) NanoContainer Organization. All rights reserved. *
3  * ------------------------------------------------------------------------- *
4  * The software in this package is published under the terms of the BSD *
5  * style license a copy of which has been included with this distribution in *
6  * the LICENSE.txt file. *
7  * *
8  *****************************************************************************/

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 JavaDoc;
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 JavaDoc clazz, PicoContainer parentContainer) {
27         super(clazz);
28         this.parentContainer = parentContainer;
29     }
30
31     public synchronized Object JavaDoc newInstance() throws InstantiationException JavaDoc, IllegalAccessException JavaDoc {
32         DefaultPicoContainer child = new DefaultPicoContainer(parentContainer);
33         child.registerComponentImplementation(Servlet JavaDoc.class, _class);
34         return child.getComponentInstance(Servlet JavaDoc.class);
35     }
36
37 }
Popular Tags