package com.dgrid.plugins;
import groovy.lang.GroovyClassLoader;
import java.io.File;
import java.io.FileFilter;
import com.dgrid.plugin.AbstractDynamicPlugin;
import com.dgrid.plugin.Plugin;
public class GroovyPluginsPlugin extends AbstractDynamicPlugin implements
Plugin {
public GroovyPluginsPlugin() {
super(new File("plugins/groovy"), 5000);
}
public String getDescription() {
return "Loads all built-in groovy plugins";
}
public void start() {
log.trace("start()");
super.start();
}
public void stop() {
log.trace("stop()");
super.stop();
}
protected FileFilter getFileFilter() {
return new FileFilter() {
public boolean accept(File pathname) {
if ((pathname.isFile())
&& (pathname.getName().endsWith(".groovy")))
return true;
return false;
}
};
}
protected Plugin loadPluginFromFile(File file) throws Exception {
GroovyClassLoader loader = new GroovyClassLoader(getClass()
.getClassLoader());
Class groovyClass = loader.parseClass(file);
Object obj = groovyClass.newInstance();
Plugin plugin = (Plugin) obj;
return plugin;
}
}