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 @Override 021 public synchronized void clearAssertionStatus() { 022 log.debug("LogClassLoader", "clearAssertion"); 023 cl.clearAssertionStatus(); 024 } 025 026 @Override 027 protected Package definePackage(String name, String specTitle, String specVersion, String specVendor, String implTitle, String implVersion, String implVendor, URL sealBase) throws IllegalArgumentException { 028 log.debug("LogClassLoader", "definePackage"); 029 return null; 030 } 031 032 @Override 033 protected Class findClass(String name) throws ClassNotFoundException { 034 log.debug("LogClassLoader", "findClass"); 035 return null; 036 } 037 038 @Override 039 protected String findLibrary(String libname) { 040 log.debug("LogClassLoader", "findLibrary"); 041 return null; 042 } 043 044 @Override 045 protected URL findResource(String name) { 046 log.debug("LogClassLoader", "findResource"); 047 return null; 048 } 049 050 @Override 051 protected Enumeration findResources(String name) throws IOException { 052 log.debug("LogClassLoader", "findResources"); 053 return null; 054 } 055 056 @Override 057 protected Package getPackage(String name) { 058 log.debug("LogClassLoader", "getPackage"); 059 return null; 060 } 061 062 @Override 063 protected Package[] getPackages() { 064 log.debug("LogClassLoader", "getPackages"); 065 return null; 066 } 067 068 @Override 069 public URL getResource(String name) { 070 log.debug("LogClassLoader", "getResource"); 071 return cl.getResource(name); 072 } 073 074 @Override 075 public InputStream getResourceAsStream(String name) { 076 log.debug("LogClassLoader", "getResourceAsStream"); 077 return cl.getResourceAsStream(name); 078 } 079 080 @Override 081 protected synchronized Class loadClass(String name, boolean resolve) throws ClassNotFoundException { 082 log.debug("LogClassLoader", "loadClass"); 083 return null; 084 } 085 086 @Override 087 public Class loadClass(String name) throws ClassNotFoundException { 088 Class clazz = cl.loadClass(name); 089 log.debug("LogClassLoader", "loadClass("+name+"):"+clazz); 090 return clazz; 091 } 092 093 @Override 094 public synchronized void setClassAssertionStatus(String className, boolean enabled) { 095 log.debug("LogClassLoader", "setClassAssertionStatus"); 096 cl.setClassAssertionStatus(className, enabled); 097 } 098 099 @Override 100 public synchronized void setDefaultAssertionStatus(boolean enabled) { 101 log.debug("LogClassLoader", "setdefaultAssertionStatus"); 102 cl.setDefaultAssertionStatus(enabled); 103 } 104 105 @Override 106 public synchronized void setPackageAssertionStatus(String packageName, boolean enabled) { 107 log.debug("LogClassLoader", "setPackageAssertionStatus"); 108 cl.setPackageAssertionStatus(packageName, enabled); 109 } 110 }