|
||||||||||
| 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.argouml.uml.reveng.ImportClassLoader
public final class ImportClassLoader
Class to help users reverse engineer class information from arbitrary .jar/.class file resources, like an import classpath.
can be used as follows:
try {
ImportClassLoader loader = ImportClassLoader.getInstance();
// add paths...
loader.addFile(new File("/opt/lib/myjar.jar"));
Class clazz = loader.loadClass("org.xyz.MyException");
Object ex = clazz.newInstance();
cat.info("loaded class ok");
} catch(Exception e) {
cat.warn("error loading class: "+e.toString());
}
It supports adding and removing Files from the import classpath.
And saving and loading the path to/from the users properties file.It should be possible to make this the system class loader, but I haven't got this to work yet:
final URLClassLoader urlClassLoader = new URLClassLoader(urls, cl);
//create a new custom class with the default classloader as its parent
try {
EventQueue eq = Toolkit.getDefaultToolkit().getSystemEventQueue();
eq.invokeAndWait(new Runnable() {
public void run() {
Thread.currentThread().setContextClassLoader(urlClassLoader);
// this will replace the default system class loader with
// the new custom classloader, so that the jvm will use
// the new custom classloader to lookup a class
}
});
//...
| Method Summary | |
|---|---|
void |
addFile(java.io.File f)
|
static ImportClassLoader |
getInstance()
Try and return the existing instance if one exists. |
static ImportClassLoader |
getInstance(java.net.URL[] urls)
There is no default constructor for URLClassloader, so we should provide urls when creating the instance. |
static java.net.URL[] |
getURLs(java.lang.String path)
Add the files for which the paths are given, and return in URL format. |
void |
loadUserPath()
Get the user-configured path. |
void |
removeFile(java.io.File f)
Remove the given file. |
void |
saveUserPath()
Store the user-configured path. |
void |
setPath(java.lang.Object[] paths)
|
void |
setPath(java.lang.String path)
Add the file for which a path is given. |
java.lang.String |
toString()
|
| Methods inherited from class java.net.URLClassLoader |
|---|
addURL, definePackage, findClass, findResource, findResources, getPermissions, getURLs, newInstance, newInstance |
| Methods inherited from class java.security.SecureClassLoader |
|---|
defineClass, defineClass |
| Methods inherited from class java.lang.ClassLoader |
|---|
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findLibrary, findLoadedClass, findSystemClass, getPackage, getPackages, getParent, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, loadClass, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Method Detail |
|---|
public static ImportClassLoader getInstance()
throws java.net.MalformedURLException
java.net.MalformedURLException - when the url is bad
public static ImportClassLoader getInstance(java.net.URL[] urls)
throws java.net.MalformedURLException
urls - the URLs
java.net.MalformedURLException - when the URL is bad
public void addFile(java.io.File f)
throws java.net.MalformedURLException
f - the file to be added
java.net.MalformedURLException - when the URL is badpublic void removeFile(java.io.File f)
f - the file to be removedpublic void setPath(java.lang.String path)
path - the path in String formatpublic static java.net.URL[] getURLs(java.lang.String path)
path - the paths in String format
public void setPath(java.lang.Object[] paths)
paths - the paths to the files to be addedpublic void loadUserPath()
public void saveUserPath()
public java.lang.String toString()
toString in class java.lang.Object
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
| ArgoUML © 1996-2006 | ArgoUML Homepage | ArgoUML Cookbook |