blob: 7825ddc0da53aff9af715085de86c25f3b4e9ce5 [file] [log] [blame]
/* Copyright (c) 2000 The Apache Software Foundation */
package org.apache.tools.ant;
import java.net.*;
/**
* The only task that gets loaded by default. It can be used
* to dynamically load any other required tasks.
*
* @author <a href="mailto:mpfoemme@thoughtworks.com">Matthew Foemmel</a>
*/
public class Load extends Task {
private String name;
private String classname;
public void execute() throws BuildException {
try {
getWorkspace().debug("Loading " + name);
ClassLoader loader = new URLClassLoader(
new URL[] { getProject().getBase() },
getWorkspace().getClass().getClassLoader());
getWorkspace().registerTask(name, loader.loadClass(classname));
}
catch(ClassNotFoundException exc) {
throw new BuildException("Class \"" + classname + "\" not found");
}
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getClassname() {
return classname;
}
public void setClassname(String classname) {
this.classname = classname;
}
}