1 16 package scriptella.tools.ant; 17 18 import org.apache.tools.ant.AntClassLoader; 19 import org.apache.tools.ant.Task; 20 import org.apache.tools.ant.types.Path; 21 import org.apache.tools.ant.types.Reference; 22 23 24 30 public abstract class ClasspathSupportTask extends Task { 31 private Path classpath; 32 private AntClassLoader classLoader; 33 34 39 public void setClasspath(final Path classpath) { 40 this.classpath = classpath; 41 } 42 43 46 public Path createClasspath() { 47 if (this.classpath == null) { 48 this.classpath = new Path(getProject()); 49 } 50 51 return this.classpath.createPath(); 52 } 53 54 58 public void setClasspathRef(final Reference r) { 59 createClasspath().setRefid(r); 60 } 61 62 public ClassLoader getClassLoader() { 63 if (classpath != null) { 64 if (classLoader == null) { 65 classLoader = getProject().createClassLoader(classpath); 66 } 67 68 return classLoader; 69 } else { 70 return getProject().getCoreLoader(); 71 } 72 } 73 74 79 public Path getClasspath() { 80 return classpath; 81 } 82 83 } 84 | Popular Tags |