
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@920204 13f79535-47bb-0310-9956-ffa450edef68
76 lines
2.3 KiB
Java
76 lines
2.3 KiB
Java
/*
|
|
* Licensed to the Apache Software Foundation (ASF) under one
|
|
* or more contributor license agreements. See the NOTICE file
|
|
* distributed with this work for additional information
|
|
* regarding copyright ownership. The ASF licenses this file
|
|
* to you under the Apache License, Version 2.0 (the
|
|
* "License"); you may not use this file except in compliance
|
|
* with the License. You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing,
|
|
* software distributed under the License is distributed on an
|
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
* KIND, either express or implied. See the License for the
|
|
* specific language governing permissions and limitations
|
|
* under the License.
|
|
*/
|
|
|
|
package org.apache.tuscany;
|
|
|
|
import java.io.File;
|
|
import java.net.MalformedURLException;
|
|
import java.net.URL;
|
|
import java.net.URLClassLoader;
|
|
|
|
/**
|
|
* Class loader used to load SCA component implementation classes.
|
|
*/
|
|
class ClassLoader extends URLClassLoader {
|
|
|
|
ClassLoader(final URL... urls) {
|
|
super(urls);
|
|
}
|
|
|
|
/**
|
|
* Create a class loader for an SCA contribution path.
|
|
*/
|
|
static java.lang.ClassLoader valueOf(final String path) throws MalformedURLException {
|
|
return new ClassLoader(new File(path).toURI().toURL());
|
|
}
|
|
|
|
/**
|
|
* Load a class.
|
|
*/
|
|
static Class<?> forName(final String name, final boolean resolve, final java.lang.ClassLoader loader) throws ClassNotFoundException {
|
|
return Class.forName(name, resolve, loader);
|
|
}
|
|
|
|
/**
|
|
* Test the class loader.
|
|
*/
|
|
static class Test {
|
|
Boolean testClassLoader() {
|
|
try {
|
|
final Class<?> clazz = ClassLoader.forName("test.CalcImpl", true, ClassLoader.valueOf("."));
|
|
assert clazz != null;
|
|
} catch(final MalformedURLException e) {
|
|
throw new RuntimeException(e);
|
|
} catch(final ClassNotFoundException e) {
|
|
throw new RuntimeException(e);
|
|
}
|
|
return true;
|
|
}
|
|
}
|
|
|
|
public static void main(final String[] args) {
|
|
System.out.println("Testing...");
|
|
|
|
Test.class.getClassLoader().setDefaultAssertionStatus(true);
|
|
new Test().testClassLoader();
|
|
|
|
System.out.println("OK");
|
|
}
|
|
|
|
}
|