MATSIM
ChangeSingleTripMode.java
Go to the documentation of this file.
1 /* *********************************************************************** *
2  * project: org.matsim.*
3  * *
4  * *********************************************************************** *
5  * *
6  * copyright : (C) 2008 by the members listed in the COPYING, *
7  * LICENSE and WARRANTY file. *
8  * email : info at matsim dot org *
9  * *
10  * *********************************************************************** *
11  * *
12  * This program is free software; you can redistribute it and/or modify *
13  * it under the terms of the GNU General Public License as published by *
14  * the Free Software Foundation; either version 2 of the License, or *
15  * (at your option) any later version. *
16  * See also COPYING, LICENSE and WARRANTY file *
17  * *
18  * *********************************************************************** */
19 
20 package org.matsim.core.replanning.strategies;
21 
33 
34 import jakarta.inject.Inject;
35 import jakarta.inject.Provider;
36 
37 public class ChangeSingleTripMode implements Provider<PlanStrategy> {
38 
41  private Provider<TripRouter> tripRouterProvider;
44 
45  @Inject
46  ChangeSingleTripMode(GlobalConfigGroup globalConfigGroup, ChangeModeConfigGroup changeLegModeConfigGroup, ActivityFacilities activityFacilities, Provider<TripRouter> tripRouterProvider, TimeInterpretation timeInterpretation) {
47  this.globalConfigGroup = globalConfigGroup;
48  this.changeLegModeConfigGroup = changeLegModeConfigGroup;
49  this.activityFacilities = activityFacilities;
50  this.tripRouterProvider = tripRouterProvider;
51  this.timeInterpretation = timeInterpretation;
52  }
53 
54  @Override
55  public PlanStrategy get() {
57 
58  builder.addStrategyModule(new TripsToLegsModule(tripRouterProvider, globalConfigGroup));
59  builder.addStrategyModule(new ChangeSingleLegMode(globalConfigGroup, changeLegModeConfigGroup));
60  builder.addStrategyModule(new ReRoute(activityFacilities, tripRouterProvider, globalConfigGroup, timeInterpretation));
61  return builder.build();
62  }
63 
64 }
final Builder addStrategyModule(final PlanStrategyModule module)