/* * Copyright 1998 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, * CA 95054 USA or visit www.sun.com if you need additional information or * have any questions. */ import java.net.*; import java.io.*; /* * Regression test for URLClassLoader getURLs() and addURL() methods. * See RFE 4102580: Need URLClassLoader.getURLs() method */ class GetURLsTest { public static void main(String[] args) throws Exception { MyURLClassLoader ucl = new MyURLClassLoader(new URL[] { new File(".").toURL() }); p("initial urls = ", ucl.getURLs()); URL u = ucl.getResource("GetURLsTest.java"); if (u != null) { p("found resource = " + u); } ucl.addURL(new File("jars", "class_path_test.jar").toURL()); p("new urls = ", ucl.getURLs()); Class c = ucl.loadClass("Foo"); p("found class = " + c); } static class MyURLClassLoader extends URLClassLoader { public MyURLClassLoader(URL[] urls) { super(urls); } public void addURL(URL url) { super.addURL(url); } } static void p(String s, URL[] urls) { System.out.print(s); if (urls.length > 0) { for (int i = 0; i < urls.length - 1; i++) { System.out.print(urls[i] + " "); } } System.out.println(urls[urls.length - 1]); } static void p(String s) { System.out.println(s); } }