com.sshtools.j2ssh.util
Class DynamicClassLoader
java.lang.Object
java.lang.ClassLoader
com.sshtools.j2ssh.util.DynamicClassLoader
public class DynamicClassLoader
- extends java.lang.ClassLoader
- Version:
- $Revision: 1.1 $
- Author:
- $author$
Constructor Summary |
DynamicClassLoader(java.lang.ClassLoader parent,
java.util.List classpath)
Creates a new DynamicClassLoader object. |
Methods inherited from class java.lang.ClassLoader |
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findResources, findSystemClass, getPackage, getPackages, getParent, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
log
private static org.apache.commons.logging.Log log
generationCounter
private static int generationCounter
cache
private java.util.Hashtable cache
classpath
private java.util.List classpath
generation
private int generation
parent
private java.lang.ClassLoader parent
DynamicClassLoader
public DynamicClassLoader(java.lang.ClassLoader parent,
java.util.List classpath)
throws java.lang.IllegalArgumentException
- Creates a new DynamicClassLoader object.
- Parameters:
parent
- classpath
-
- Throws:
java.lang.IllegalArgumentException
getResource
public java.net.URL getResource(java.lang.String name)
- Overrides:
getResource
in class java.lang.ClassLoader
- Parameters:
name
-
- Returns:
getResourceAsStream
public java.io.InputStream getResourceAsStream(java.lang.String name)
- Overrides:
getResourceAsStream
in class java.lang.ClassLoader
- Parameters:
name
-
- Returns:
reinstantiate
public DynamicClassLoader reinstantiate()
- Returns:
shouldReload
public boolean shouldReload(java.lang.String classname)
- Parameters:
classname
-
- Returns:
shouldReload
public boolean shouldReload()
- Returns:
loadClass
protected java.lang.Class loadClass(java.lang.String name,
boolean resolve)
throws java.lang.ClassNotFoundException
- Overrides:
loadClass
in class java.lang.ClassLoader
- Parameters:
name
- resolve
-
- Returns:
-
- Throws:
java.lang.ClassNotFoundException
isJarArchive
private boolean isJarArchive(java.io.File file)
loadBytesFromStream
private byte[] loadBytesFromStream(java.io.InputStream in,
int length)
throws java.io.IOException
- Throws:
java.io.IOException
loadClassFromDirectory
private byte[] loadClassFromDirectory(java.io.File dir,
java.lang.String name,
DynamicClassLoader.ClassCacheEntry cache)
throws java.io.IOException
- Throws:
java.io.IOException
loadClassFromZipfile
private byte[] loadClassFromZipfile(java.io.File file,
java.lang.String name,
DynamicClassLoader.ClassCacheEntry cache)
throws java.io.IOException
- Throws:
java.io.IOException
loadResourceFromDirectory
private java.io.InputStream loadResourceFromDirectory(java.io.File dir,
java.lang.String name)
loadResourceFromZipfile
private java.io.InputStream loadResourceFromZipfile(java.io.File file,
java.lang.String name)
loadSystemClass
private java.lang.Class loadSystemClass(java.lang.String name,
boolean resolve)
throws java.lang.NoClassDefFoundError,
java.lang.ClassNotFoundException
- Throws:
java.lang.NoClassDefFoundError
java.lang.ClassNotFoundException
securityAllowsClass
private boolean securityAllowsClass(java.lang.String className)