1 28 29 package com.caucho.loader; 30 31 import com.caucho.vfs.Path; 32 33 import javax.annotation.PostConstruct; 34 35 38 public class ClasspathConfig { 39 private Path _classDir; 40 private Path _source; 41 private boolean _compile = true; 42 private boolean _isLibraryDir = false; 43 44 47 public void setId(Path id) 48 { 49 _classDir = id; 50 } 51 52 55 public void setSource(Path source) 56 { 57 _source = source; 58 } 59 60 63 public void setCompile(boolean compile) 64 { 65 _compile = compile; 66 } 67 68 71 public void setLibraryDir(boolean libraryDir) 72 { 73 _isLibraryDir = libraryDir; 74 } 75 76 79 @PostConstruct 80 public void init() 81 { 82 DynamicClassLoader classLoader; 83 classLoader = (DynamicClassLoader) Thread.currentThread().getContextClassLoader(); 84 85 Loader loader = null; 86 87 if (_isLibraryDir) 88 loader = new DirectoryLoader(_classDir); 89 else if (! _compile) 90 loader = new SimpleLoader(_classDir); 91 else if (_classDir.getPath().endsWith(".jar") || 92 _classDir.getPath().endsWith(".zip")) 93 loader = new SimpleLoader(_classDir); 94 else if (_source != null) 95 loader = new CompilingLoader(_classDir, _source, null, null); 96 else 97 loader = new CompilingLoader(_classDir); 98 99 classLoader.addLoader(loader); 100 101 classLoader.init(); 102 } 103 104 public String toString() 105 { 106 return "ClasspathConfig[" + _classDir + "]"; 107 } 108 } 109 110 111 | Popular Tags |