package de.gaalop.gaalet;
import de.gaalop.CodeParser;
import de.gaalop.CodeParserPlugin;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import javax.imageio.ImageIO;
import java.net.URL;
import java.util.Observable;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.IOException;
/**
* Plugin class for the CluCalc code parser.
*/
public class Plugin extends Observable implements CodeParserPlugin
{
private Log log = LogFactory.getLog(Plugin.class);
private BufferedImage icon;
public Plugin() {
URL url = getClass().getResource("icon.png");
if (url != null) {
try {
icon = ImageIO.read(url);
} catch (IOException e) {
log.error("Unable to read plugin icon " + url);
}
} else {
log.warn("Unable to find CluCalc plugin icon!");
}
}
@Override
public String getName() {
return "Gaalet";
}
@Override
public String getDescription() {
return "...";
}
@Override
public Image getIcon() {
return icon;
}
@Override
public CodeParser createCodeParser() {
GaaletCodeParser.INSTANCE.setPluginReference(this);
return GaaletCodeParser.INSTANCE;
}
/**
* Notifies this class' observers about new maximum number of assignments.
*
* @param n
*/
void setNumberOfAssignments(int n) {
setChanged();
notifyObservers(Integer.valueOf(n));
}
}