📄 fileforestclassloadermanager.java
字号:
package org.codehaus.classloader;
import java.io.File;
import java.io.FileFilter;
import java.net.URL;
import java.util.Iterator;
/**
* This class loader manager loads class from a list of directories/files using a hierarchical rule. i.e.
* classes under the same folder take precedence over those in parent or sibling directories.
* <p>
* This is ideal for managing jar files that have dependencies on different version of the same library.
* <p>
* @author Ben Yu
* Aug 2, 2006 7:00:51 PM
*/
public class FileForestClassLoaderManager extends
AbstractTreeClassLoaderManager {
private final URL[] base;
private final File[] files;
private final ClassLoader parent;
private final FileFilter filter;
private final FilesIterable iterable = new FilesIterable();
public FileForestClassLoaderManager(URL[] base, File[] files, FileFilter filter) {
this(ClassLoader.getSystemClassLoader(), base, files, filter);
}
public FileForestClassLoaderManager(URL[] base, File[] files) {
this(ClassLoader.getSystemClassLoader(), base, files);
}
public FileForestClassLoaderManager(ClassLoader parent, URL[] base, File[] files, FileFilter filter) {
this(NilClassLoaderManager.instance(), parent, base, files, filter);
}
public FileForestClassLoaderManager(ClassLoader parent, URL[] base, File[] files) {
this(parent, base, files, MayBeClassSource.defaultInstance());
}
protected FileForestClassLoaderManager(ClassLoaderManager up, ClassLoader parent,
URL[] base, File[] files, FileFilter filter) {
super(up);
this.parent = parent;
this.base = base;
this.files = files;
this.filter = filter;
}
protected Iterator children() {
return iterable.iterateFiles(this, parent, base, files, filter);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -