JClassLoader.java

00001 
00027 package org.objectweb.jonas.server;
00028 
00029 import java.io.File;
00030 import java.net.URL;
00031 import java.net.URLClassLoader;
00032 
00038 public class JClassLoader extends URLClassLoader {
00039 
00043     private String name = null;
00044 
00051     public JClassLoader(String name, URL[] urls, ClassLoader parent) {
00052         super(urls, parent);
00053         this.name = name;
00054     }
00055 
00062     public JClassLoader(String name, URL[] urls) {
00063         super(urls);
00064         this.name = name;
00065     }
00066 
00071     public void addURL(URL url) {
00072         if (url != null) {
00073             super.addURL(url);
00074         }
00075     }
00076 
00081     public void addURLs(URL[] urls) {
00082         if (urls != null) {
00083             for (int i = 0; i < urls.length; i++) {
00084                 if (urls[i] != null) {
00085                     super.addURL(urls[i]);
00086                 }
00087             }
00088         }
00089     }
00090 
00094     public void printURLs() {
00095         System.out.println(name  + " ClassLoader :");
00096         URL[] urls = super.getURLs();
00097         for (int i = 0; i < urls.length; i++) {
00098             System.out.println("url=" + (new File(urls[i].getFile())).getAbsolutePath());
00099         }
00100         // display parent classloader
00101         if (getParent() != null && getParent() instanceof JClassLoader) {
00102             System.out.println("parent :");
00103             ((JClassLoader) getParent()).printURLs();
00104         }
00105     }
00106 
00111     public String getClassPath() {
00112         String cp = "";
00113         // add parent classpath before
00114         if (getParent() != null && getParent() instanceof JClassLoader) {
00115             cp += ((JClassLoader) getParent()).getClassPath();
00116         }
00117         URL[] urls = super.getURLs();
00118         for (int i = 0; i < urls.length; i++) {
00119             cp = cp + File.pathSeparator + (new File(urls[i].getFile())).getAbsolutePath();
00120         }
00121         return cp;
00122     }
00123 
00128     public String toString() {
00129         StringBuffer sb = new StringBuffer();
00130         sb.append(this.getClass().getName());
00131         sb.append("[");
00132         sb.append(name);
00133         sb.append(", urls=");
00134         URL[] urls = getURLs();
00135         for (int u = 0; u < urls.length; u++) {
00136             sb.append(urls[u]);
00137             if (u != urls.length - 1) {
00138                 sb.append(";");
00139             }
00140         }
00141         sb.append("]");
00142         return sb.toString();
00143     }
00144 }

Generated on Tue Feb 15 15:05:24 2005 for JOnAS by  doxygen 1.3.9.1