package de.gaalop.gapp;
import de.gaalop.ConfigurationProperty;
import de.gaalop.ConfigurationProperty.Type;
import de.gaalop.Notifications;
import de.gaalop.OptimizationStrategy;
import de.gaalop.OptimizationStrategyPlugin;
import de.gaalop.tba.cfgImport.optimization.maxima.ProcessBuilderMaximaConnection;
import java.awt.Image;
import java.util.Observable;
/**
* Implements a plugin for decorating the Control Flow Graph with GAPP instructions
* @author Christian Steinmetz
*/
public class Plugin extends Observable implements OptimizationStrategyPlugin {
@ConfigurationProperty(type = Type.BOOLEAN)
public boolean useScalarFunctions = true;
public boolean isUseScalarFunctions() {
return useScalarFunctions;
}
public void setUseScalarFunctions(boolean useScalarFunctions) {
this.useScalarFunctions = useScalarFunctions;
}
@Override
public OptimizationStrategy createOptimizationStrategy() {
return new GAPPOptStrategy(this);
}
@Override
public String getName() {
return "GAPP";
}
@Override
public String getDescription() {
return "This plugin decorates the ControlFlowGraph with GAPP instructions";
}
@Override
public Image getIcon() {
return null;
}
void notifyError(Throwable error) {
setChanged();
notifyObservers(new Notifications.Error(error));
}
}