1 9 package org.ozoneDB.core; 10 11 import org.ozoneDB.OzoneClassNotFoundException; 12 import org.ozoneDB.util.LogWriter; 13 14 15 19 public final class ClassManager extends ServerComponent { 20 21 protected ClassLoader classLoader; 22 23 24 public ClassManager( Env _env ) { 25 super( _env ); 26 } 27 28 29 public void startup() throws Exception { 30 env.logWriter.newEntry( this, "startup...", LogWriter.INFO ); 31 dropClasses(); 32 } 33 34 35 public void shutdown() throws Exception { 36 env.logWriter.newEntry( this, "shutdown...", LogWriter.INFO ); 37 } 38 39 40 public void save() throws Exception { 41 } 42 43 44 public Class classForName( String name ) throws OzoneClassNotFoundException { 45 if (env.logWriter.hasTarget( LogWriter.DEBUG3 )) { 46 env.logWriter.newEntry( this, "classForName(): " + name, LogWriter.DEBUG3 ); 47 } 48 try { 49 61 Class cl = classLoader.loadClass( name ); 62 63 if (env.logWriter.hasTarget( LogWriter.DEBUG3 )) { 64 env.logWriter.newEntry( this, " class: " + cl.getName() + ", " + cl.hashCode(), LogWriter.DEBUG3 ); 65 } 66 return cl; 67 } 68 catch (ClassNotFoundException e) { 69 throw new OzoneClassNotFoundException( e.getMessage() ); 70 } 71 } 72 73 74 public void dropClasses() throws Exception { 75 env.logWriter.newEntry( this, "dropClasses()", LogWriter.DEBUG3 ); 76 classLoader = new OzoneClassLoader(); 77 } 78 } 79 80 81 | Popular Tags |