OpenJDK / jdk / hs
changeset 45177:5b45993a4340
Merge
author | iignatyev |
---|---|
date | Thu, 18 May 2017 18:14:07 +0000 |
parents | 4468d97d77fc 0de84426b2d6 |
children | 9ff621041842 |
files | jdk/test/lib/testlibrary/jdk/testlibrary/FilterClassLoader.java jdk/test/lib/testlibrary/jdk/testlibrary/ParentLastURLClassLoader.java |
diffstat | 2 files changed, 0 insertions(+), 99 deletions(-) [+] |
line wrap: on
line diff
--- a/jdk/test/lib/testlibrary/jdk/testlibrary/FilterClassLoader.java Thu May 18 10:22:55 2017 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,49 +0,0 @@ -/* - * Copyright (c) 2014, Oracle and/or its affiliates. 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ -package jdk.testlibrary; - -import java.util.function.Predicate; -/** - * A classloader, which using target classloader in case provided condition - * for class name is met, and using parent otherwise - */ -public class FilterClassLoader extends ClassLoader { - - private final ClassLoader target; - private final Predicate<String> condition; - - public FilterClassLoader(ClassLoader target, ClassLoader parent, - Predicate<String> condition) { - super(parent); - this.condition = condition; - this.target = target; - } - - @Override - public Class<?> loadClass(String name) throws ClassNotFoundException { - if (condition.test(name)) { - return target.loadClass(name); - } - return super.loadClass(name); - } -}
--- a/jdk/test/lib/testlibrary/jdk/testlibrary/ParentLastURLClassLoader.java Thu May 18 10:22:55 2017 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,50 +0,0 @@ -/* - * Copyright (c) 2014, Oracle and/or its affiliates. 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ -package jdk.testlibrary; - -import java.net.URL; -import java.net.URLClassLoader; - -/** - * An url classloader, which trying to load class from provided URL[] first, - * and using parent classloader in case it failed - */ -public class ParentLastURLClassLoader extends URLClassLoader { - - public ParentLastURLClassLoader(URL urls[], ClassLoader parent) { - super(urls, parent); - } - - @Override - public Class<?> loadClass(String name) throws ClassNotFoundException { - try { - Class<?> c = findClass(name); - if (c != null) { - return c; - } - } catch (ClassNotFoundException e) { - // ignore - } - return super.loadClass(name); - } -}