/**
* generated by Xtext 2.10.0
*/
package org.thingml.xtext.web;
import com.google.inject.Guice;
import com.google.inject.Injector;
import com.google.inject.Module;
import com.google.inject.Provider;
import com.google.inject.util.Modules;
import java.util.concurrent.ExecutorService;
import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor;
import org.thingml.xtext.ThingMLRuntimeModule;
import org.thingml.xtext.ThingMLStandaloneSetup;
import org.thingml.xtext.web.ThingMLWebModule;
/**
* Initialization support for running Xtext languages in web applications.
*/
@FinalFieldsConstructor
@SuppressWarnings("all")
public class ThingMLWebSetup extends ThingMLStandaloneSetup {
private final Provider<ExecutorService> executorServiceProvider;
@Override
public Injector createInjector() {
final ThingMLRuntimeModule runtimeModule = new ThingMLRuntimeModule();
final ThingMLWebModule webModule = new ThingMLWebModule(this.executorServiceProvider);
Modules.OverriddenModuleBuilder _override = Modules.override(runtimeModule);
Module _with = _override.with(webModule);
return Guice.createInjector(_with);
}
public ThingMLWebSetup(final Provider<ExecutorService> executorServiceProvider) {
super();
this.executorServiceProvider = executorServiceProvider;
}
}