public class VFSClassLoader
extends java.security.SecureClassLoader
FileType.FILE
is asumed to be a JAR and is opened
by creating a layered file system with the "jar" scheme.
TODO - Test this with signed Jars and a SecurityManager.
FileSystemManager.createFileSystem(java.lang.String, org.apache.commons.vfs.FileObject)
Constructor | Description |
---|---|
VFSClassLoader(FileObject[] files,
FileSystemManager manager) |
Constructors a new VFSClassLoader for the given files.
|
VFSClassLoader(FileObject[] files,
FileSystemManager manager,
java.lang.ClassLoader parent) |
Constructors a new VFSClassLoader for the given FileObjects.
|
VFSClassLoader(FileObject file,
FileSystemManager manager) |
Constructors a new VFSClassLoader for the given file.
|
VFSClassLoader(FileObject file,
FileSystemManager manager,
java.lang.ClassLoader parent) |
Constructors a new VFSClassLoader for the given file.
|
Modifier and Type | Method | Description |
---|---|---|
protected void |
copyPermissions(java.security.PermissionCollection src,
java.security.PermissionCollection dest) |
Copies the permissions from src to dest.
|
protected java.lang.Class |
findClass(java.lang.String name) |
Finds and loads the class with the specified name from the search
path.
|
protected java.net.URL |
findResource(java.lang.String name) |
Finds the resource with the specified name from the search path.
|
protected java.util.Enumeration |
findResources(java.lang.String name) |
Returns an Enumeration of all the resources in the search path
with the specified name.
|
protected java.security.PermissionCollection |
getPermissions(java.security.CodeSource cs) |
Calls super.getPermissions both for the code source and also
adds the permissions granted to the parent layers.
|
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findSystemClass, getClassLoadingLock, getDefinedPackage, getDefinedPackages, getName, getPackage, getPackages, getParent, getPlatformClassLoader, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, loadClass, loadClass, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
public VFSClassLoader(FileObject file, FileSystemManager manager) throws FileSystemException
file
- the file to load the classes and resources from.manager
- the FileManager to use when trying create a layered Jar file
system.FileSystemException
public VFSClassLoader(FileObject file, FileSystemManager manager, java.lang.ClassLoader parent) throws FileSystemException
file
- the file to load the classes and resources from.manager
- the FileManager to use when trying create a layered Jar file
system.parent
- the parent class loader for delegation.FileSystemException
public VFSClassLoader(FileObject[] files, FileSystemManager manager) throws FileSystemException
files
- the files to load the classes and resources from.manager
- the FileManager to use when trying create a layered Jar file
system.FileSystemException
public VFSClassLoader(FileObject[] files, FileSystemManager manager, java.lang.ClassLoader parent) throws FileSystemException
files
- the FileObjects to load the classes and resources from.manager
- the FileManager to use when trying create a layered Jar file
system.parent
- the parent class loader for delegation.FileSystemException
protected java.lang.Class findClass(java.lang.String name) throws java.lang.ClassNotFoundException
findClass
in class java.lang.ClassLoader
java.lang.ClassNotFoundException
- if the class is not found.protected java.security.PermissionCollection getPermissions(java.security.CodeSource cs)
getPermissions
in class java.security.SecureClassLoader
protected void copyPermissions(java.security.PermissionCollection src, java.security.PermissionCollection dest)
protected java.net.URL findResource(java.lang.String name)
findResource
in class java.lang.ClassLoader
protected java.util.Enumeration findResources(java.lang.String name)
findResources
in class java.lang.ClassLoader