KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > jonas_lib > loader > SimpleWebappClassLoader


1 /**
2  * JOnAS: Java(TM) Open Application Server
3  * Copyright (C) 1999 Bull S.A.
4  * Contact: jonas-team@objectweb.org
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
19  * USA
20  *
21  * Initial developer(s): Guillaume SAUTHIER
22  * --------------------------------------------------------------------------
23  * $Id: SimpleWebappClassLoader.java,v 1.4 2004/04/19 13:49:09 sauthieg Exp $
24  * --------------------------------------------------------------------------
25  */

26
27 package org.objectweb.jonas_lib.loader;
28
29 import java.io.IOException JavaDoc;
30 import java.net.URL JavaDoc;
31
32 /**
33  * ClassLoader specialized for WebApps. It add only the WEB-INF/wsdl/ directory
34  * of the war in the URL repository. Used because Catalina doesn't automatically
35  * add this resources in its own ClassLoader
36  *
37  * @author Guillaume Sauthier
38  */

39 public class SimpleWebappClassLoader extends AbsModuleClassLoader {
40
41     /** WSDL directory in a Web module */
42     private static final String JavaDoc WSDL_DIRECTORY = "WEB-INF/wsdl/";
43
44     /**
45      * Create a new SimpleWebappClassLoader with default parent ClassLoader
46      *
47      * @param module an URL of Web file
48      *
49      * @throws IOException if creation fails
50      */

51     public SimpleWebappClassLoader(URL JavaDoc module) throws IOException JavaDoc {
52         super(new URL JavaDoc[] {module});
53     }
54
55     /**
56      * Create a new SimpleWebappClassLoader with specified parent ClassLoader
57      *
58      * @param module an URL of Web file
59      * @param parent the parent ClassLoader
60      *
61      * @throws IOException if creation fails
62      */

63     public SimpleWebappClassLoader(URL JavaDoc module, ClassLoader JavaDoc parent) throws IOException JavaDoc {
64         super(new URL JavaDoc[] {module}, parent);
65     }
66
67     /**
68      * Add the WEB-INF/wsdl/ directory in the ClassLoader.
69      *
70      * @throws IOException if META-INF/wsdl and ejb-jar root directories cannot
71      * be inserted in loader
72      */

73     protected void init() throws IOException JavaDoc {
74         super.init();
75         addInRepository(WSDL_DIRECTORY);
76         addInRepository("");
77     }
78 }
Popular Tags