KickJava   Java API By Example, From Geeks To Geeks.

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


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
10 package org.nanocontainer.webcontainer;
11
12 import org.mortbay.jetty.webapp.WebXmlConfiguration;
13 import org.mortbay.jetty.servlet.ServletHolder;
14 import org.mortbay.jetty.servlet.FilterHolder;
15 import org.picocontainer.PicoContainer;
16 import org.picocontainer.defaults.DefaultPicoContainer;
17
18
19 public class PicoWebXmlConfiguration extends WebXmlConfiguration {
20
21     private PicoContainer parentContainer;
22
23     public PicoWebXmlConfiguration(PicoContainer parentContainer) {
24         this.parentContainer = parentContainer;
25     }
26
27     protected ServletHolder newServletHolder() {
28         return new PicoServletHolder(parentContainer);
29     }
30
31     protected FilterHolder newFilterHolder() {
32         return new PicoFilterHolder(parentContainer);
33     }
34
35     protected Object JavaDoc newListenerInstance(Class JavaDoc clazz) throws InstantiationException JavaDoc, IllegalAccessException JavaDoc {
36         DefaultPicoContainer child = new DefaultPicoContainer(parentContainer);
37         child.registerComponentImplementation("listener", clazz);
38         Object JavaDoc componentInstance = child.getComponentInstance("listener");
39         return componentInstance;
40
41     }
42
43 }
44
Popular Tags