|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.lang.ClassLoader
java.security.SecureClassLoader
java.net.URLClassLoader
org.vrspace.server.VRSpaceLoader
Big bad class loader. It delegates all calls for all classes specified along with package name to parent classloader, this usually means system class loader. If this loader fails, looks for class in URLs specified by vrspace.loader.classpath property or by addURL/addDir calls. Behaviour changes when a class is specified without package name. Such classes are searched by package path. This allows us to change any class with another class without need to recompile. Still we need to respect polymorhpism etc. To use this feature, you'll have to 1) create new VRSpaceLoader explicitly or 2) use Thread.getContextClassLoader().loadClass() instead of Class.forName() To specify package search path, use vrspace.loader.packages property or call addPackage/removePackage. In properties, delimit urls/packages with ;
Nested Class Summary | |
class |
VRSpaceLoader.ClassReference
Work in progress |
Constructor Summary | |
VRSpaceLoader()
|
|
VRSpaceLoader(java.net.URL[] urls)
|
|
VRSpaceLoader(java.net.URL[] urls,
java.lang.ClassLoader parent)
|
|
VRSpaceLoader(java.net.URL[] urls,
java.lang.ClassLoader parent,
java.net.URLStreamHandlerFactory factory)
|
Method Summary | |
void |
addDir(java.lang.String dir)
Adds all files in a local directory to classpath |
void |
addDirs(java.lang.String[] dirs)
Adds all files in specified directories to classpath |
void |
addPackage(java.lang.String name)
Add a package to package search path. |
protected void |
addURL(java.net.URL url)
|
protected static void |
checkURL(java.net.URL url)
|
protected java.lang.Class |
findClass(java.lang.String name)
Tries to guess package name of the specified class |
java.net.URL |
findResource(java.lang.String name)
Debug only; this sometimes fails in conjunction with other classloaders. |
java.lang.String |
getPath()
This returns full class search path in a string, delimited by File.pathSeparator |
java.lang.Class |
loadClass(java.lang.String name,
boolean resolve)
This actually loads a class. |
static void |
main(java.lang.String[] args)
|
void |
removePackage(java.lang.String name)
Remove a package from package search path. |
void |
run()
|
void |
startServer(java.lang.String[] args)
Starts vrspace server with specified arguments |
Methods inherited from class java.net.URLClassLoader |
definePackage, findResources, getPermissions, getURLs, newInstance, newInstance |
Methods inherited from class java.security.SecureClassLoader |
defineClass |
Methods inherited from class java.lang.ClassLoader |
clearAssertionStatus, defineClass, defineClass, defineClass, definePackage, findLibrary, findLoadedClass, findSystemClass, getPackage, getPackages, getParent, getResource, getResourceAsStream, 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 |
Constructor Detail |
public VRSpaceLoader()
public VRSpaceLoader(java.net.URL[] urls)
public VRSpaceLoader(java.net.URL[] urls, java.lang.ClassLoader parent)
public VRSpaceLoader(java.net.URL[] urls, java.lang.ClassLoader parent, java.net.URLStreamHandlerFactory factory)
Method Detail |
public void addPackage(java.lang.String name)
public void removePackage(java.lang.String name)
protected void addURL(java.net.URL url)
protected static void checkURL(java.net.URL url) throws java.io.IOException
java.io.IOException
public void addDir(java.lang.String dir) throws java.io.IOException, java.net.MalformedURLException
java.io.IOException
java.net.MalformedURLException
public java.lang.String getPath()
public void addDirs(java.lang.String[] dirs) throws java.io.IOException, java.net.MalformedURLException
java.io.IOException
java.net.MalformedURLException
protected java.lang.Class findClass(java.lang.String name) throws java.lang.ClassNotFoundException
java.lang.ClassNotFoundException
public java.lang.Class loadClass(java.lang.String name, boolean resolve) throws java.lang.ClassNotFoundException
java.lang.ClassNotFoundException
public java.net.URL findResource(java.lang.String name)
public void run()
run
in interface java.lang.Runnable
public static void main(java.lang.String[] args)
public void startServer(java.lang.String[] args) throws java.lang.Exception
java.lang.Exception
Server
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |