MATSIM
Classes | Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
org.matsim.core.controler.Controler Class Reference
Inheritance diagram for org.matsim.core.controler.Controler:
Inheritance graph
[legend]

Classes

enum  DefaultFiles
 

Public Member Functions

IterationStopWatch getStopwatch ()
 
 Controler (final String[] args)
 
 Controler (final String configFileName)
 
 Controler (final Config config)
 
 Controler (final Scenario scenario)
 
final void run ()
 
final TravelTime getLinkTravelTimes ()
 
final Provider< TripRoutergetTripRouterProvider ()
 
final TravelDisutility createTravelDisutilityCalculator ()
 
final LeastCostPathCalculatorFactory getLeastCostPathCalculatorFactory ()
 
final ScoringFunctionFactory getScoringFunctionFactory ()
 
final Config getConfig ()
 
final Scenario getScenario ()
 
final EventsManager getEvents ()
 
final com.google.inject.Injector getInjector ()
 
final void resetInjector ()
 
final CalcLinkStats getLinkStats ()
 
final VolumesAnalyzer getVolumes ()
 
final ScoreStats getScoreStats ()
 
final TravelDisutilityFactory getTravelDisutilityFactory ()
 
final StrategyManager getStrategyManager ()
 
OutputDirectoryHierarchy getControlerIO ()
 
Integer getIterationNumber ()
 
void addControlerListener (final ControlerListener controlerListener)
 
final void setScoringFunctionFactory (final ScoringFunctionFactory scoringFunctionFactory)
 
final void setTerminationCriterion (final TerminationCriterion terminationCriterion)
 
final Controler addOverridingModule (AbstractModule abstractModule)
 
final void setModules (AbstractModule... modules)
 
final Controler addOverridingQSimModule (AbstractQSimModule qsimModule)
 
final Controler addQSimModule (AbstractQSimModule qsimModule)
 
final Controler configureQSimComponents (QSimComponentsConfigurator configurator)
 

Static Public Member Functions

static void main (final String[] args)
 

Static Public Attributes

static final String DIRECTORY_ITERS = "ITERS"
 
static final String DIVIDER = "###################################################"
 
static final PatternLayout DEFAULTLOG4JLAYOUT = PatternLayout.newBuilder().withPattern("%d{ISO8601} %5p %C{1}:%L %m%n").build()
 

Private Member Functions

 Controler (final String configFileName, final Config config, Scenario scenario)
 
void createInjector ()
 

Private Attributes

final Config config
 
Scenario scenario
 
com.google.inject.Injector injector
 
boolean injectorCreated = false
 
List< AbstractModulemodules = Collections.singletonList(new ControlerDefaultsModule())
 
AbstractModule overrides = AbstractModule.emptyModule()
 
List< AbstractQSimModuleoverridingQSimModules = new LinkedList<>()
 

Static Private Attributes

static final Logger log = LogManager.getLogger(Controler.class)
 

Detailed Description

The Controler is responsible for complete simulation runs, including the initialization of all required data, running the iterations and the replanning, analyses, etc.

Author
mrieser

Definition at line 68 of file Controler.java.

Constructor & Destructor Documentation

◆ Controler() [1/5]

org.matsim.core.controler.Controler.Controler ( final String []  args)

Initializes a new instance of Controler with the given arguments.

Parameters
argsThe arguments to initialize the services with. args[0] is expected to contain the path to a configuration file, args[1], if set, is expected to contain the path to a local copy of the DTD file used in the configuration file.

Definition at line 159 of file Controler.java.

Referenced by org.matsim.core.controler.Controler.main().

159  {
160  this(args.length > 0 ? args[0] : null, null, null);
161  }

◆ Controler() [2/5]

org.matsim.core.controler.Controler.Controler ( final String  configFileName)

Definition at line 163 of file Controler.java.

163  {
164  this(configFileName, null, null);
165  }

◆ Controler() [3/5]

org.matsim.core.controler.Controler.Controler ( final Config  config)

Definition at line 167 of file Controler.java.

References org.matsim.core.controler.Controler.config.

167  {
168  this(null, config, null);
169  }

◆ Controler() [4/5]

org.matsim.core.controler.Controler.Controler ( final Scenario  scenario)

Definition at line 171 of file Controler.java.

References org.matsim.core.controler.Controler.scenario.

171  {
172  this(null, null, scenario);
173  }

◆ Controler() [5/5]

org.matsim.core.controler.Controler.Controler ( final String  configFileName,
final Config  config,
Scenario  scenario 
)
private

Definition at line 175 of file Controler.java.

References org.matsim.core.config.Config.addConfigConsistencyChecker(), org.matsim.core.controler.Controler.config, org.matsim.core.config.Config.eventsManager(), org.matsim.api.core.v01.Scenario.getConfig(), org.matsim.core.config.ConfigUtils.loadConfig(), org.matsim.core.config.groups.EventsManagerConfigGroup.makeLocked(), org.matsim.core.config.Config.qsim(), org.matsim.core.controler.Controler.scenario, and org.matsim.core.config.ConfigGroup.setLocked().

175  {
176  if (scenario != null) {
177  // scenario already loaded (recommended):
178  this.config = scenario.getConfig();
179  this.config.addConfigConsistencyChecker(new ConfigConsistencyCheckerImpl());
180  } else {
181  if (configFileName == null) {
182  // config should already be loaded:
183  if (config == null) {
184  throw new IllegalArgumentException("Either the config or the filename of a configfile must be set to initialize the Controler.");
185  }
186  this.config = config;
187  } else {
188  // else load config:
189  this.config = ConfigUtils.loadConfig(configFileName);
190  }
191  this.config.addConfigConsistencyChecker(new ConfigConsistencyCheckerImpl());
192 
193  // load scenario:
194  //scenario = ScenarioUtils.createScenario(this.config);
195  //ScenarioUtils.loadScenario(scenario) ;
196  }
198  this.scenario = scenario;
199  this.overrides = scenario == null ?
200  new ScenarioByConfigModule() :
201  new ScenarioByInstanceModule(this.scenario);
202 
203  this.config.qsim().setLocked();
204  // yy this is awfully ad-hoc. kai, jul'18
205  // yy should probably come even earlier, before the scenario is generated. kai, jul'18
206  }
EventsManagerConfigGroup eventsManager()
Definition: Config.java:467
void addConfigConsistencyChecker(final ConfigConsistencyChecker checker)
Definition: Config.java:493
QSimConfigGroup qsim()
Definition: Config.java:447
Here is the call graph for this function:

Member Function Documentation

◆ getStopwatch()

IterationStopWatch org.matsim.core.controler.Controler.getStopwatch ( )

Implements org.matsim.core.controler.MatsimServices.

Definition at line 123 of file Controler.java.

References org.matsim.core.controler.Controler.injector.

123  {
124  return injector.getInstance(IterationStopWatch.class);
125  }
com.google.inject.Injector injector
Definition: Controler.java:119

◆ main()

static void org.matsim.core.controler.Controler.main ( final String []  args)
static

Definition at line 137 of file Controler.java.

References org.matsim.core.controler.Controler.Controler(), and org.matsim.core.controler.Controler.run().

137  {
138  if ((args == null) || (args.length == 0)) {
139  System.out.println("No argument given!");
140  System.out.println("Usage: Controler config-file [dtd-file]");
141  System.out.println();
142  } else {
143  final Controler controler = new Controler(args);
144  controler.run();
145  }
146  System.exit(0);
147  }
Controler(final String[] args)
Definition: Controler.java:159
Here is the call graph for this function:

◆ createInjector()

void org.matsim.core.controler.Controler.createInjector ( )
private

Definition at line 208 of file Controler.java.

References org.matsim.core.config.Config.addConfigConsistencyChecker(), org.matsim.core.config.Config.checkConsistency(), org.matsim.core.controler.Injector.createInjector(), org.matsim.core.controler.Controler.injector, org.matsim.core.controler.AbstractModule.override(), and org.matsim.core.config.Config.removeConfigConsistencyChecker().

Referenced by org.matsim.core.controler.Controler.getInjector(), and org.matsim.core.controler.Controler.run().

208  {
209  if (!injectorCreated) {
210  this.injectorCreated = true;
211 
212  this.overrides = AbstractModule.override(Collections.singletonList(this.overrides), new AbstractModule() {
213  @Override
214  public void install() {
215  bind(Key.get(new TypeLiteral<List<AbstractQSimModule>>() {
216  }, Names.named("overrides"))).toInstance(overridingQSimModules);
217  }
218  });
219 
220  // check config consistency just before creating injector; sometimes, we can provide better error messages there:
221  config.removeConfigConsistencyChecker( UnmaterializedConfigGroupChecker.class );
223  config.addConfigConsistencyChecker( new UnmaterializedConfigGroupChecker() );
224 
225  final Set<AbstractModule> standardModules = Collections.singleton(
226  new AbstractModule(){
227  @Override
228  public void install(){
229  install( new NewControlerModule() );
230  install( new ControlerDefaultCoreListenersModule() );
231  for( AbstractModule module : modules ){
232  install( module );
233  }
234  // should not be necessary: created in the controler
235  //install(new ScenarioByInstanceModule(scenario));
236  }
237  }
238  );
239  this.injector = Injector.createInjector( config, AbstractModule.override( standardModules, overrides ) );
240  }
241  }
void removeConfigConsistencyChecker(final Class clazz)
Definition: Config.java:507
List< AbstractModule > modules
Definition: Controler.java:130
List< AbstractQSimModule > overridingQSimModules
Definition: Controler.java:135
void addConfigConsistencyChecker(final ConfigConsistencyChecker checker)
Definition: Config.java:493
static com.google.inject.Injector createInjector(final Config config, Module... modules)
Definition: Injector.java:58
static AbstractModule override(final Iterable<? extends AbstractModule > modules, final AbstractModule abstractModule)
com.google.inject.Injector injector
Definition: Controler.java:119
Here is the call graph for this function:

◆ run()

final void org.matsim.core.controler.Controler.run ( )

Starts the iterations.

Definition at line 247 of file Controler.java.

References org.matsim.core.controler.Controler.createInjector(), and org.matsim.core.controler.Controler.injector.

Referenced by ch.sbb.matsim.RunSwissRailRaptorExample.main(), org.matsim.core.mobsim.qsim.qnetsimengine.RunConfigurableQNetworkFactoryExample.main(), org.matsim.core.mobsim.qsim.qnetsimengine.RunFlexibleQNetworkFactoryExample.main(), org.matsim.withinday.controller.ExampleWithinDayController.main(), and org.matsim.core.controler.Controler.main().

247  {
248  // It is better to keep this line before actually creating the injector, because:
249  // - it actually means "fail if adding new Guice modules"
250  // - adding Guice modules to the Controler from other Guice modules is too late.
251  // This might sound silly, but might, in some cases, happen, through code that
252  // - transformed a StartupListener to a Guice module
253  // - that called methods such as setScoringFunctionFactory(), that redirects to addOverridingModule()
254  // And this happens silently, leading to lots of time and hair lost.
255  // td, nov 16
256  createInjector();
257 
258  ControlerI controler = injector.getInstance(ControlerI.class);
259  controler.run();
260  }
com.google.inject.Injector injector
Definition: Controler.java:119
Here is the call graph for this function:

◆ getLinkTravelTimes()

final TravelTime org.matsim.core.controler.Controler.getLinkTravelTimes ( )

Implements org.matsim.core.controler.MatsimServices.

Definition at line 269 of file Controler.java.

References org.matsim.api.core.v01.TransportMode.car, and org.matsim.core.controler.Controler.injector.

269  {
270  return this.injector.getInstance(com.google.inject.Injector.class).getInstance(Key.get(new TypeLiteral<Map<String, TravelTime>>() {}))
271  .get(TransportMode.car);
272  }
com.google.inject.Injector injector
Definition: Controler.java:119

◆ getTripRouterProvider()

final Provider<TripRouter> org.matsim.core.controler.Controler.getTripRouterProvider ( )

Gives access to a org.matsim.core.router.TripRouter instance. This is a routing service which you can use to calculate routes, e.g. from your own replanning code or your own within-day replanning agent code. You get a Provider (and not an instance directly) because your code may want to later create more than one instance. A TripRouter is not guaranteed to be thread-safe, so you must get() an instance for each thread if you plan to write multi-threaded code.

See org.matsim.core.router.TripRouter for more information and pointers to examples.

Implements org.matsim.core.controler.MatsimServices.

Definition at line 286 of file Controler.java.

References org.matsim.core.controler.Controler.injector.

286  {
287  return this.injector.getProvider(TripRouter.class);
288  }
com.google.inject.Injector injector
Definition: Controler.java:119

◆ createTravelDisutilityCalculator()

final TravelDisutility org.matsim.core.controler.Controler.createTravelDisutilityCalculator ( )

Implements org.matsim.core.controler.MatsimServices.

Definition at line 291 of file Controler.java.

References org.matsim.core.router.costcalculators.TravelDisutilityFactory.createTravelDisutility(), org.matsim.core.controler.Controler.getTravelDisutilityFactory(), and org.matsim.core.controler.Controler.injector.

291  {
292  return getTravelDisutilityFactory().createTravelDisutility(this.injector.getInstance(TravelTime.class));
293  }
TravelDisutility createTravelDisutility(TravelTime timeCalculator)
final TravelDisutilityFactory getTravelDisutilityFactory()
Definition: Controler.java:410
com.google.inject.Injector injector
Definition: Controler.java:119
Here is the call graph for this function:

◆ getLeastCostPathCalculatorFactory()

final LeastCostPathCalculatorFactory org.matsim.core.controler.Controler.getLeastCostPathCalculatorFactory ( )

Implements org.matsim.core.controler.MatsimServices.

Definition at line 296 of file Controler.java.

References org.matsim.core.controler.Controler.injector.

296  {
297  return this.injector.getInstance(LeastCostPathCalculatorFactory.class);
298  }
com.google.inject.Injector injector
Definition: Controler.java:119

◆ getScoringFunctionFactory()

final ScoringFunctionFactory org.matsim.core.controler.Controler.getScoringFunctionFactory ( )

Implements org.matsim.core.controler.MatsimServices.

Definition at line 301 of file Controler.java.

References org.matsim.core.controler.Controler.injector.

301  {
302  return this.injector.getInstance(ScoringFunctionFactory.class);
303  }
com.google.inject.Injector injector
Definition: Controler.java:119

◆ getConfig()

final Config org.matsim.core.controler.Controler.getConfig ( )

Implements org.matsim.core.controler.MatsimServices.

Definition at line 306 of file Controler.java.

References org.matsim.core.controler.Controler.config.

306  {
307  return config;
308  }

◆ getScenario()

final Scenario org.matsim.core.controler.Controler.getScenario ( )

Implements org.matsim.core.controler.MatsimServices.

Definition at line 311 of file Controler.java.

References org.matsim.core.gbl.Gbl.assertNotNull(), org.matsim.core.controler.Controler.injector, and org.matsim.core.controler.Controler.scenario.

311  {
312  if (this.injectorCreated) {
313  Gbl.assertNotNull(this.injector);
314  return this.injector.getInstance(Scenario.class);
315  } else {
316  if ( scenario == null ) {
317  log.error( "Trying to get Scenario before it was instanciated.");
318  log.error( "When passing a config file or a config file path to the Controler constructor," );
319  log.error( "Scenario will be loaded first when the run() method is invoked." );
320  throw new IllegalStateException( "Trying to get Scenario before is was instanciated." );
321  }
322  return this.scenario;
323  }
324  }
com.google.inject.Injector injector
Definition: Controler.java:119
Here is the call graph for this function:

◆ getEvents()

final EventsManager org.matsim.core.controler.Controler.getEvents ( )

Implements org.matsim.core.controler.MatsimServices.

Definition at line 328 of file Controler.java.

References org.matsim.core.controler.Controler.addOverridingModule(), and org.matsim.core.controler.Controler.injector.

Referenced by org.matsim.core.mobsim.qsim.qnetsimengine.RunConfigurableQNetworkFactoryExample.main().

328  {
329  if (this.injector != null) {
330  return this.injector.getInstance(EventsManager.class);
331  } else {
332  return new EventsManager() {
333  @Override
334  public void processEvent(Event event) {
335  Controler.this.injector.getInstance(EventsManager.class).processEvent(event);
336  }
337 
338  @Override
339  public void addHandler(final EventHandler handler) {
340  addOverridingModule(new AbstractModule() {
341  @Override
342  public void install() {
343  addEventHandlerBinding().toInstance(handler);
344  }
345  });
346  }
347 
348  @Override
349  public void removeHandler(EventHandler handler) {
350  throw new UnsupportedOperationException();
351  }
352 
353  @Override
354  public void resetHandlers(int iteration) {
355  throw new UnsupportedOperationException();
356  }
357 
358  @Override
359  public void initProcessing() {
360  throw new UnsupportedOperationException();
361  }
362 
363  @Override
364  public void afterSimStep(double time) {
365  throw new UnsupportedOperationException();
366  }
367 
368  @Override
369  public void finishProcessing() {
370  throw new UnsupportedOperationException();
371  }
372  };
373  }
374  }
final Controler addOverridingModule(AbstractModule abstractModule)
Definition: Controler.java:473
Controler(final String[] args)
Definition: Controler.java:159
com.google.inject.Injector injector
Definition: Controler.java:119
Here is the call graph for this function:

◆ getInjector()

final com.google.inject.Injector org.matsim.core.controler.Controler.getInjector ( )

Implements org.matsim.core.controler.MatsimServices.

Definition at line 377 of file Controler.java.

References org.matsim.core.controler.Controler.createInjector(), and org.matsim.core.controler.Controler.injector.

377  {
378  createInjector();
379  return this.injector;
380  }
com.google.inject.Injector injector
Definition: Controler.java:119
Here is the call graph for this function:

◆ resetInjector()

final void org.matsim.core.controler.Controler.resetInjector ( )

Reset injector flag, so it will be re-created if the scenario is run again.

Definition at line 385 of file Controler.java.

385  {
386  this.injectorCreated = false;
387  }

◆ getLinkStats()

final CalcLinkStats org.matsim.core.controler.Controler.getLinkStats ( )
Deprecated:
Do not use this, as it may not contain values in every iteration

Implements org.matsim.core.controler.MatsimServices.

Definition at line 395 of file Controler.java.

References org.matsim.core.controler.Controler.injector.

395  {
396  return this.injector.getInstance(CalcLinkStats.class);
397  }
com.google.inject.Injector injector
Definition: Controler.java:119

◆ getVolumes()

final VolumesAnalyzer org.matsim.core.controler.Controler.getVolumes ( )

Implements org.matsim.core.controler.MatsimServices.

Definition at line 400 of file Controler.java.

References org.matsim.core.controler.Controler.injector.

400  {
401  return this.injector.getInstance(VolumesAnalyzer.class);
402  }
com.google.inject.Injector injector
Definition: Controler.java:119

◆ getScoreStats()

final ScoreStats org.matsim.core.controler.Controler.getScoreStats ( )

Implements org.matsim.core.controler.MatsimServices.

Definition at line 405 of file Controler.java.

References org.matsim.core.controler.Controler.injector.

405  {
406  return this.injector.getInstance(ScoreStats.class);
407  }
com.google.inject.Injector injector
Definition: Controler.java:119

◆ getTravelDisutilityFactory()

final TravelDisutilityFactory org.matsim.core.controler.Controler.getTravelDisutilityFactory ( )

Implements org.matsim.core.controler.MatsimServices.

Definition at line 410 of file Controler.java.

References org.matsim.api.core.v01.TransportMode.car, and org.matsim.core.controler.Controler.injector.

Referenced by org.matsim.core.controler.Controler.createTravelDisutilityCalculator().

410  {
411  return this.injector.getInstance(com.google.inject.Injector.class).getInstance(Key.get(new TypeLiteral<Map<String, TravelDisutilityFactory>>(){}))
412  .get(TransportMode.car);
413  }
com.google.inject.Injector injector
Definition: Controler.java:119

◆ getStrategyManager()

final StrategyManager org.matsim.core.controler.Controler.getStrategyManager ( )
Returns
Returns the org.matsim.core.replanning.StrategyManager used for the replanning of plans.
Deprecated:
– try to use services.addPlanStrategyFactory or services.addPlanSelectoryFactory. There are cases when this does not work, which is in particular necessary if you need to re-configure the StrategyManager during the iterations, and you cannot do this before the iterations start. In such cases, using this method may be ok. kai/mzilske, aug'14

Implements org.matsim.core.controler.MatsimServices.

Definition at line 425 of file Controler.java.

References org.matsim.core.controler.Controler.injector.

425  {
426  return this.injector.getInstance(StrategyManager.class);
427  }
com.google.inject.Injector injector
Definition: Controler.java:119

◆ getControlerIO()

OutputDirectoryHierarchy org.matsim.core.controler.Controler.getControlerIO ( )

Implements org.matsim.core.controler.MatsimServices.

Definition at line 430 of file Controler.java.

References org.matsim.core.controler.Controler.injector.

430  {
431  return injector.getInstance(OutputDirectoryHierarchy.class);
432  }
com.google.inject.Injector injector
Definition: Controler.java:119

◆ getIterationNumber()

Integer org.matsim.core.controler.Controler.getIterationNumber ( )

Implements org.matsim.core.controler.IterationCounter.

Definition at line 435 of file Controler.java.

References org.matsim.core.controler.Controler.injector.

435  {
436  return injector.getInstance(ReplanningContext.class).getIteration();
437  }
com.google.inject.Injector injector
Definition: Controler.java:119

◆ addControlerListener()

void org.matsim.core.controler.Controler.addControlerListener ( final ControlerListener  controlerListener)

Implements org.matsim.core.controler.MatsimServices.

Definition at line 444 of file Controler.java.

References org.matsim.core.controler.Controler.addOverridingModule().

444  {
445  addOverridingModule(new AbstractModule() {
446  @Override
447  public void install() {
448  addControlerListenerBinding().toInstance(controlerListener);
449  }
450  });
451  }
final Controler addOverridingModule(AbstractModule abstractModule)
Definition: Controler.java:473
Here is the call graph for this function:

◆ setScoringFunctionFactory()

final void org.matsim.core.controler.Controler.setScoringFunctionFactory ( final ScoringFunctionFactory  scoringFunctionFactory)

Definition at line 453 of file Controler.java.

References org.matsim.core.controler.Controler.addOverridingModule().

454  {
455  this.addOverridingModule(new AbstractModule() {
456  @Override
457  public void install() {
458  this.bindScoringFunctionFactory().toInstance(scoringFunctionFactory);
459  }
460  });
461  }
final Controler addOverridingModule(AbstractModule abstractModule)
Definition: Controler.java:473
Here is the call graph for this function:

◆ setTerminationCriterion()

final void org.matsim.core.controler.Controler.setTerminationCriterion ( final TerminationCriterion  terminationCriterion)

Definition at line 463 of file Controler.java.

References org.matsim.core.controler.Controler.addOverridingModule().

463  {
464  this.addOverridingModule(new AbstractModule() {
465  @Override
466  public void install() {
467  bind(TerminationCriterion.class).toInstance(terminationCriterion);
468  }
469  });
470  }
final Controler addOverridingModule(AbstractModule abstractModule)
Definition: Controler.java:473
Here is the call graph for this function:

◆ addOverridingModule()

final Controler org.matsim.core.controler.Controler.addOverridingModule ( AbstractModule  abstractModule)

◆ setModules()

final void org.matsim.core.controler.Controler.setModules ( AbstractModule...  modules)

Definition at line 481 of file Controler.java.

481  {
482  if (this.injectorCreated) {
483  throw new RuntimeException("Too late for configuring the Controler. This can only be done before calling run.");
484  }
485  this.modules = Arrays.asList(modules);
486  }
List< AbstractModule > modules
Definition: Controler.java:130

◆ addOverridingQSimModule()

final Controler org.matsim.core.controler.Controler.addOverridingQSimModule ( AbstractQSimModule  qsimModule)

Implements org.matsim.core.controler.AllowsConfiguration.

Definition at line 489 of file Controler.java.

Referenced by org.matsim.core.mobsim.qsim.qnetsimengine.RunConfigurableQNetworkFactoryExample.main().

489  {
490  if (this.injectorCreated) {
491  throw new RuntimeException("Too late for configuring the Controler. This can only be done before calling run.");
492  }
493  overridingQSimModules.add(qsimModule);
494  return this ;
495  }
List< AbstractQSimModule > overridingQSimModules
Definition: Controler.java:135

◆ addQSimModule()

final Controler org.matsim.core.controler.Controler.addQSimModule ( AbstractQSimModule  qsimModule)

Implements org.matsim.core.controler.AllowsConfiguration.

Definition at line 497 of file Controler.java.

References org.matsim.core.controler.Controler.addOverridingModule().

497  {
498  this.addOverridingModule(new AbstractModule() {
499  @Override
500  public void install() {
501  installQSimModule(qsimModule);
502  }
503  });
504  return this ;
505  }
final Controler addOverridingModule(AbstractModule abstractModule)
Definition: Controler.java:473
Here is the call graph for this function:

◆ configureQSimComponents()

final Controler org.matsim.core.controler.Controler.configureQSimComponents ( QSimComponentsConfigurator  configurator)
Deprecated:
– Only use if you know what you are doing, for experts only.

Implements org.matsim.core.controler.AllowsConfiguration.

Definition at line 511 of file Controler.java.

References org.matsim.core.controler.Controler.addOverridingModule(), org.matsim.core.mobsim.qsim.components.QSimComponentsConfigurator.configure(), and org.matsim.core.mobsim.qsim.components.StandardQSimComponentConfigurator.configure().

511  {
512  this.addOverridingModule(new AbstractModule() {
513  @Override
514  public void install() {
515  QSimComponentsConfig components = new QSimComponentsConfig();
516  new StandardQSimComponentConfigurator(config).configure(components);
517  configurator.configure(components);
518  bind(QSimComponentsConfig.class).toInstance(components);
519  }
520  });
521  return this ;
522  }
final Controler addOverridingModule(AbstractModule abstractModule)
Definition: Controler.java:473
Here is the call graph for this function:

Member Data Documentation

◆ DIRECTORY_ITERS

final String org.matsim.core.controler.Controler.DIRECTORY_ITERS = "ITERS"
static

Definition at line 73 of file Controler.java.

◆ DIVIDER

final String org.matsim.core.controler.Controler.DIVIDER = "###################################################"
static

Definition at line 110 of file Controler.java.

◆ log

final Logger org.matsim.core.controler.Controler.log = LogManager.getLogger(Controler.class)
staticprivate

Definition at line 112 of file Controler.java.

◆ DEFAULTLOG4JLAYOUT

final PatternLayout org.matsim.core.controler.Controler.DEFAULTLOG4JLAYOUT = PatternLayout.newBuilder().withPattern("%d{ISO8601} %5p %C{1}:%L %m%n").build()
static

◆ config

final Config org.matsim.core.controler.Controler.config
private

◆ scenario

Scenario org.matsim.core.controler.Controler.scenario
private

◆ injector

com.google.inject.Injector org.matsim.core.controler.Controler.injector
private

◆ injectorCreated

boolean org.matsim.core.controler.Controler.injectorCreated = false
private

Definition at line 120 of file Controler.java.

◆ modules

List<AbstractModule> org.matsim.core.controler.Controler.modules = Collections.singletonList(new ControlerDefaultsModule())
private

Definition at line 130 of file Controler.java.

◆ overrides

AbstractModule org.matsim.core.controler.Controler.overrides = AbstractModule.emptyModule()
private

Definition at line 133 of file Controler.java.

◆ overridingQSimModules

List<AbstractQSimModule> org.matsim.core.controler.Controler.overridingQSimModules = new LinkedList<>()
private

Definition at line 135 of file Controler.java.


The documentation for this class was generated from the following file: