@Override public final Controler addOverridingModule( AbstractModule abstractModule ) { if (this.injectorCreated) { throw new RuntimeException("Too late for configuring the Controler. This can only be done before calling run."); } this.overrides = AbstractModule.override(Collections.singletonList(this.overrides), abstractModule); return this ; }
@Override public void install() { install(AbstractModule.override(Arrays.<AbstractModule>asList(new ControlerDefaultsModule()), delegate)); }
/** * Builds a new QSim with the registered plugins and the defined active * components. */ public QSim build(Scenario scenario, EventsManager eventsManager) { // First, load standard QSim module AbstractModule controllerModule = new StandaloneQSimModule(scenario, eventsManager); // Add all overrides for (AbstractModule override : overridingControllerModules) { controllerModule = AbstractModule.override(Collections.singleton(controllerModule), override); } // Override components and modules controllerModule = AbstractModule.override(Collections.singleton(controllerModule), new AbstractModule() { @Override public void install() { bind(QSimComponentsConfig.class).toInstance(components); qsimModules.forEach(this::installQSimModule); bind(Key.get(new TypeLiteral<List<AbstractQSimModule>>() { }, Names.named("overrides"))).toInstance(overridingQSimModules); } }); // Build QSim Injector injector = org.matsim.core.controler.Injector.createInjector(config, controllerModule); return (QSim) injector.getInstance(Mobsim.class); }
@Override public void install() { // This is not optimal yet. Modules should not need to have parameters. // But I am not quite sure yet how to best handle custom scenario elements. mz // use ControlerDefaults configuration, replacing the TravelDisutility with a toll-dependent one install(AbstractModule.override(Arrays.<AbstractModule>asList(new ControlerDefaultsModule()), new RoadPricingModule(roadPricingScheme))); }
@Override public void install() { install(AbstractModule.override(Arrays.asList(new TripRouterModule()), new AbstractModule() { @Override public void install() { install(new ScenarioByInstanceModule(scenario)); addTravelTimeBinding("car").toInstance(timeCostCalc); addTravelDisutilityFactoryBinding("car").toInstance(new TravelDisutilityFactory() { @Override public TravelDisutility createTravelDisutility(TravelTime timeCalculator) { return timeCostCalc; } }); } })); } });
@Override public void install() { install(AbstractModule.override(Arrays.asList(new TripRouterModule()), new AbstractModule() { @Override public void install() { install(new ScenarioByInstanceModule(scenario)); addTravelTimeBinding("car").toInstance(new FreespeedTravelTimeAndDisutility( config.planCalcScore() )); addTravelDisutilityFactoryBinding("car").toInstance(new OnlyTimeDependentTravelDisutilityFactory()); } })); } });
@Override public void install() { install(AbstractModule.override(Arrays.asList(new TripRouterModule()), new AbstractModule() { @Override public void install() { install(new ScenarioByInstanceModule(scenario)); addTravelTimeBinding("car").toInstance(new FreeSpeedTravelTime()); addTravelDisutilityFactoryBinding("car").toInstance(new OnlyTimeDependentTravelDisutilityFactory()); } })); } });
@Override public void install() { install(AbstractModule.override(Arrays.asList(new TripRouterModule()), new AbstractModule() { @Override public void install() { install(new ScenarioByInstanceModule(scenario)); addTravelTimeBinding("car").toInstance(calculator); addTravelDisutilityFactoryBinding("car").toInstance(new TravelDisutilityFactory() { @Override public TravelDisutility createTravelDisutility(TravelTime timeCalculator) { return calculator; } }); bindLeastCostPathCalculatorFactory().toInstance(factory1); } })); } });
@Override public void install() { install(new ScenarioByInstanceModule(scenario)); install(AbstractModule.override(Arrays.asList(new TripRouterModule()), new AbstractModule() { @Override public void install() { addTravelTimeBinding("car").toInstance(new FreespeedTravelTimeAndDisutility( config.planCalcScore() )); addTravelDisutilityFactoryBinding("car").toInstance(new OnlyTimeDependentTravelDisutilityFactory()); } })); } });
@Override public void install() { install(new ScenarioByInstanceModule(scenario)); install(AbstractModule.override(Arrays.asList(new TripRouterModule()), new AbstractModule() { @Override public void install() { addTravelTimeBinding("car").toInstance(new FreespeedTravelTimeAndDisutility(config.planCalcScore())); addTravelDisutilityFactoryBinding("car").toInstance(new OnlyTimeDependentTravelDisutilityFactory()); addRoutingModuleBinding("car").toInstance( routingModule ); } })); } });
public Provider<TripRouter> build(final Scenario scenario) { return Injector.createInjector(scenario.getConfig(), AbstractModule.override( Arrays.asList( new ScenarioByInstanceModule(scenario),
install(new NewControlerModule()); install(new ControlerDefaultCoreListenersModule()); install(AbstractModule.override(Collections.singleton(new ControlerDefaultsModule()), new AbstractModule() { @Override public void install() {