/*
* generated by Xtext
*/
package gr.upatras.ece.wcl.ui.internal;
import org.apache.log4j.Logger;
import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.osgi.framework.BundleContext;
import com.google.inject.Guice;
import com.google.inject.Injector;
import com.google.inject.Module;
import com.google.inject.util.Modules;
import java.util.Map;
import java.util.HashMap;
/**
* Generated
*/
public class SDLActivator extends AbstractUIPlugin {
private Map<String,Injector> injectors = new HashMap<String,Injector>();
private static SDLActivator INSTANCE;
public Injector getInjector(String languageName) {
return injectors.get(languageName);
}
@Override
public void start(BundleContext context) throws Exception {
super.start(context);
INSTANCE = this;
try {
injectors.put("gr.upatras.ece.wcl.SDL", Guice.createInjector(
Modules.override(Modules.override(getRuntimeModule("gr.upatras.ece.wcl.SDL")).with(getUiModule("gr.upatras.ece.wcl.SDL"))).with(getSharedStateModule())
));
} catch (Exception e) {
Logger.getLogger(getClass()).error(e.getMessage(), e);
throw e;
}
}
public static SDLActivator getInstance() {
return INSTANCE;
}
protected Module getRuntimeModule(String grammar) {
if ("gr.upatras.ece.wcl.SDL".equals(grammar)) {
return new gr.upatras.ece.wcl.SDLRuntimeModule();
}
throw new IllegalArgumentException(grammar);
}
protected Module getUiModule(String grammar) {
if ("gr.upatras.ece.wcl.SDL".equals(grammar)) {
return new gr.upatras.ece.wcl.ui.SDLUiModule(this);
}
throw new IllegalArgumentException(grammar);
}
protected Module getSharedStateModule() {
return new org.eclipse.xtext.ui.shared.SharedStateModule();
}
}