1 package com.salto.db.ant;
2
3 import org.apache.tools.ant.BuildException;
4 import org.apache.tools.ant.Project;
5 import org.apache.tools.ant.Task;
6
7 import com.salto.db.generator.plugin.IGeneratorPlugin;
8 import com.salto.db.generator.plugin.Plugins;
9
10 /***
11 * Register a plugin
12 *
13 * @author rflament@salto-consulting.com
14 *
15 */
16 public class RegisterPluginTask extends Task {
17
18 private String className;
19
20 public String getClassName() {
21 return className;
22 }
23
24 public void setClassName(String className) {
25 this.className = className;
26 }
27
28 public void execute() throws BuildException {
29 log("Registering plugin from classname '" + className + "'");
30
31 try {
32 Class c = Class.forName(className);
33 IGeneratorPlugin plugin = (IGeneratorPlugin) c.newInstance();
34 Plugins.getInstance().addPlugin(plugin);
35
36 } catch (ClassNotFoundException e) {
37 throw new BuildException("cannot find class '" + className
38 + "' in classpath", e);
39
40 } catch (Exception e) {
41 throw new BuildException(e);
42 }
43
44 }
45
46 }