001 package railo.commons.lang; 002 003 import java.io.IOException; 004 import java.io.InputStream; 005 import java.net.URL; 006 import java.util.Enumeration; 007 008 import railo.commons.io.log.Log; 009 010 public final class LogClassLoader extends ClassLoader { 011 012 private final ClassLoader cl; 013 private final Log log; 014 015 public LogClassLoader(ClassLoader cl,Log log){ 016 this.cl=cl; 017 this.log=log; 018 } 019 020 /** 021 * 022 * @see java.lang.ClassLoader#clearAssertionStatus() 023 */ 024 public synchronized void clearAssertionStatus() { 025 log.debug("LogClassLoader", "clearAssertion"); 026 cl.clearAssertionStatus(); 027 } 028 029 /** 030 * 031 * @see java.lang.ClassLoader#definePackage(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.net.URL) 032 */ 033 protected Package definePackage(String name, String specTitle, String specVersion, String specVendor, String implTitle, String implVersion, String implVendor, URL sealBase) throws IllegalArgumentException { 034 log.debug("LogClassLoader", "definePackage"); 035 return null; 036 } 037 038 /** 039 * 040 * @see java.lang.ClassLoader#findClass(java.lang.String) 041 */ 042 protected Class findClass(String name) throws ClassNotFoundException { 043 log.debug("LogClassLoader", "findClass"); 044 return null; 045 } 046 047 /** 048 * 049 * @see java.lang.ClassLoader#findLibrary(java.lang.String) 050 */ 051 protected String findLibrary(String libname) { 052 log.debug("LogClassLoader", "findLibrary"); 053 return null; 054 } 055 056 /** 057 * 058 * @see java.lang.ClassLoader#findResource(java.lang.String) 059 */ 060 protected URL findResource(String name) { 061 log.debug("LogClassLoader", "findResource"); 062 return null; 063 } 064 065 /** 066 * 067 * @see java.lang.ClassLoader#findResources(java.lang.String) 068 */ 069 protected Enumeration findResources(String name) throws IOException { 070 log.debug("LogClassLoader", "findResources"); 071 return null; 072 } 073 074 /** 075 * 076 * @see java.lang.ClassLoader#getPackage(java.lang.String) 077 */ 078 protected Package getPackage(String name) { 079 log.debug("LogClassLoader", "getPackage"); 080 return null; 081 } 082 083 /** 084 * 085 * @see java.lang.ClassLoader#getPackages() 086 */ 087 protected Package[] getPackages() { 088 log.debug("LogClassLoader", "getPackages"); 089 return null; 090 } 091 092 /** 093 * 094 * @see java.lang.ClassLoader#getResource(java.lang.String) 095 */ 096 public URL getResource(String name) { 097 log.debug("LogClassLoader", "getResource"); 098 return cl.getResource(name); 099 } 100 101 /** 102 * 103 * @see java.lang.ClassLoader#getResourceAsStream(java.lang.String) 104 */ 105 public InputStream getResourceAsStream(String name) { 106 log.debug("LogClassLoader", "getResourceAsStream"); 107 return cl.getResourceAsStream(name); 108 } 109 110 /** 111 * 112 * @see java.lang.ClassLoader#loadClass(java.lang.String, boolean) 113 */ 114 protected synchronized Class loadClass(String name, boolean resolve) throws ClassNotFoundException { 115 log.debug("LogClassLoader", "loadClass"); 116 return null; 117 } 118 119 /** 120 * 121 * @see java.lang.ClassLoader#loadClass(java.lang.String) 122 */ 123 public Class loadClass(String name) throws ClassNotFoundException { 124 Class clazz = cl.loadClass(name); 125 log.debug("LogClassLoader", "loadClass("+name+"):"+clazz); 126 return clazz; 127 } 128 129 /** 130 * 131 * @see java.lang.ClassLoader#setClassAssertionStatus(java.lang.String, boolean) 132 */ 133 public synchronized void setClassAssertionStatus(String className, boolean enabled) { 134 log.debug("LogClassLoader", "setClassAssertionStatus"); 135 cl.setClassAssertionStatus(className, enabled); 136 } 137 138 /** 139 * 140 * @see java.lang.ClassLoader#setDefaultAssertionStatus(boolean) 141 */ 142 public synchronized void setDefaultAssertionStatus(boolean enabled) { 143 log.debug("LogClassLoader", "setdefaultAssertionStatus"); 144 cl.setDefaultAssertionStatus(enabled); 145 } 146 147 /** 148 * 149 * @see java.lang.ClassLoader#setPackageAssertionStatus(java.lang.String, boolean) 150 */ 151 public synchronized void setPackageAssertionStatus(String packageName, boolean enabled) { 152 log.debug("LogClassLoader", "setPackageAssertionStatus"); 153 cl.setPackageAssertionStatus(packageName, enabled); 154 } 155 }