pluginsclassloader.java
来自「纯java操作系统jnode,安装简单和操作简单的个人使用的Java操作系统」· Java 代码 · 共 55 行
JAVA
55 行
/*
* $Id: PluginsClassLoader.java,v 1.1 2004/01/02 08:41:56 epr Exp $
*/
package org.jnode.plugin.model;
import java.net.URL;
import java.util.Iterator;
import org.jnode.plugin.PluginDescriptor;
/**
* @author Ewout Prangsma (epr@users.sourceforge.net)
*/
public class PluginsClassLoader extends ClassLoader {
private final PluginRegistryModel registry;
public PluginsClassLoader(PluginRegistryModel registry) {
this.registry = registry;
}
/**
* @see java.lang.ClassLoader#findClass(java.lang.String)
*/
protected Class findClass(String name) throws ClassNotFoundException {
for (Iterator i = registry.getDescriptorIterator(); i.hasNext();) {
final PluginDescriptor descr = (PluginDescriptor) i.next();
if (!descr.isSystemPlugin()) {
final PluginClassLoader cl = (PluginClassLoader) descr.getPluginClassLoader();
if (cl.containsClass(name)) {
return cl.loadClass(name);
}
}
}
throw new ClassNotFoundException(name);
}
/**
* @see java.lang.ClassLoader#findResource(java.lang.String)
*/
protected URL findResource(String name) {
for (Iterator i = registry.getDescriptorIterator(); i.hasNext();) {
final PluginDescriptor descr = (PluginDescriptor) i.next();
if (!descr.isSystemPlugin()) {
final PluginClassLoader cl = (PluginClassLoader) descr.getPluginClassLoader();
final URL url = cl.getResource(name);
if (url != null) {
return url;
}
}
}
return null;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?