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

Public Member Functions

 Config ()
 
void addCoreModules ()
 
void checkConsistency ()
 
final ConfigGroup createModule (final String name)
 
final void addModule (final ConfigGroup specializedConfigModule)
 
final void removeModule (final String name)
 
final TreeMap< String, ConfigGroupgetModules ()
 
final ConfigGroup getModule (final String moduleName)
 
final String getParam (final String moduleName, final String paramName)
 
final String findParam (final String moduleName, final String paramName)
 
final String toString ()
 
final void setParam (final String moduleName, final String paramName, final String value)
 
final GlobalConfigGroup global ()
 
final ControllerConfigGroup controller ()
 
final CountsConfigGroup counts ()
 
final ScoringConfigGroup scoring ()
 
final NetworkConfigGroup network ()
 
final PlansConfigGroup plans ()
 
final HouseholdsConfigGroup households ()
 
final FacilitiesConfigGroup facilities ()
 
final ReplanningConfigGroup replanning ()
 
TravelTimeCalculatorConfigGroup travelTimeCalculator ()
 
ScenarioConfigGroup scenario ()
 
RoutingConfigGroup routing ()
 
VspExperimentalConfigGroup vspExperimental ()
 
QSimConfigGroup qsim ()
 
TransitConfigGroup transit ()
 
TransitRouterConfigGroup transitRouter ()
 
LinkStatsConfigGroup linkStats ()
 
TimeAllocationMutatorConfigGroup timeAllocationMutator ()
 
EventsManagerConfigGroup eventsManager ()
 
SubtourModeChoiceConfigGroup subtourModeChoice ()
 
ChangeModeConfigGroup changeMode ()
 
HermesConfigGroup hermes ()
 
ReplanningAnnealerConfigGroup replanningAnnealer ()
 
PlanInheritanceConfigGroup planInheritance ()
 
void addConfigConsistencyChecker (final ConfigConsistencyChecker checker)
 
void removeConfigConsistencyChecker (final Class clazz)
 
final boolean isLocked ()
 
final void setLocked (boolean locked)
 
final VehiclesConfigGroup vehicles ()
 
void setContext (URL context)
 
URL getContext ()
 

Private Member Functions

void checkIfLocked ()
 

Static Private Member Functions

static void copyTo (ConfigGroup source, ConfigGroup destination)
 

Private Attributes

final TreeMap< String, ConfigGroupmodules = new TreeMap<>()
 
final List< ConfigConsistencyCheckerconsistencyCheckers = new ArrayList<>()
 
boolean locked = false
 
URL context
 

Static Private Attributes

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

Detailed Description

Stores all configuration settings specified in a configuration file and provides access to the settings at runtime.

See also
CreateFullConfig
Author
mrieser

Definition at line 73 of file Config.java.

Constructor & Destructor Documentation

◆ Config()

org.matsim.core.config.Config.Config ( )

Definition at line 103 of file Config.java.

References org.matsim.core.config.Config.setContext().

103  {
104  try {
105  URL currentDir = Paths.get("").toUri().toURL();
106  setContext(currentDir);
107  } catch (MalformedURLException e) {
108  throw new RuntimeException(e);
109  }
110  }
void setContext(URL context)
Definition: Config.java:541
Here is the call graph for this function:

Member Function Documentation

◆ addCoreModules()

void org.matsim.core.config.Config.addCoreModules ( )

Adds all the commonly used config-groups, also known as "core modules", to this config-instance. This should be called before reading any configuration from file.

Definition at line 117 of file Config.java.

References org.matsim.core.config.Config.addConfigConsistencyChecker(), org.matsim.core.config.groups.ChangeLegModeConfigGroup.CONFIG_MODULE, org.matsim.core.config.groups.ChangeModeConfigGroup.CONFIG_MODULE, org.matsim.pt.config.TransitRouterConfigGroup.GROUP_NAME, org.matsim.core.config.groups.VehiclesConfigGroup.GROUP_NAME, org.matsim.core.config.groups.TimeAllocationMutatorConfigGroup.GROUP_NAME, org.matsim.core.config.groups.LinkStatsConfigGroup.GROUP_NAME, org.matsim.core.config.groups.PlanInheritanceConfigGroup.GROUP_NAME, org.matsim.core.config.groups.NetworkConfigGroup.GROUP_NAME, org.matsim.core.config.groups.EventsManagerConfigGroup.GROUP_NAME, org.matsim.core.config.groups.HouseholdsConfigGroup.GROUP_NAME, org.matsim.core.config.groups.FacilitiesConfigGroup.GROUP_NAME, org.matsim.core.config.groups.SubtourModeChoiceConfigGroup.GROUP_NAME, org.matsim.core.config.groups.GlobalConfigGroup.GROUP_NAME, org.matsim.core.config.groups.PlansConfigGroup.GROUP_NAME, org.matsim.core.config.groups.ScenarioConfigGroup.GROUP_NAME, org.matsim.core.config.groups.VspExperimentalConfigGroup.GROUP_NAME, org.matsim.core.config.groups.CountsConfigGroup.GROUP_NAME, org.matsim.core.replanning.annealing.ReplanningAnnealerConfigGroup.GROUP_NAME, org.matsim.pt.config.TransitConfigGroup.GROUP_NAME, org.matsim.core.config.groups.ReplanningConfigGroup.GROUP_NAME, org.matsim.core.config.groups.QSimConfigGroup.GROUP_NAME, org.matsim.core.config.groups.RoutingConfigGroup.GROUP_NAME, org.matsim.core.config.groups.ControllerConfigGroup.GROUP_NAME, org.matsim.core.config.groups.ScoringConfigGroup.GROUP_NAME, org.matsim.core.config.groups.TravelTimeCalculatorConfigGroup.GROUPNAME, and org.matsim.core.mobsim.hermes.HermesConfigGroup.NAME.

Referenced by org.matsim.core.config.ConfigUtils.createConfig(), and org.matsim.core.config.ConfigUtils.loadConfig().

117  {
118  this.modules.put(GlobalConfigGroup.GROUP_NAME, new GlobalConfigGroup());
119 
120  this.modules.put(ControllerConfigGroup.GROUP_NAME, new ControllerConfigGroup());
121 
122  this.modules.put(QSimConfigGroup.GROUP_NAME, new QSimConfigGroup());
123 
124  this.modules.put(CountsConfigGroup.GROUP_NAME, new CountsConfigGroup());
125  this.modules.put(ScoringConfigGroup.GROUP_NAME, new ScoringConfigGroup());
126 
127  this.modules.put(NetworkConfigGroup.GROUP_NAME, new NetworkConfigGroup());
128 
129  this.modules.put(PlansConfigGroup.GROUP_NAME, new PlansConfigGroup());
130 
131  this.modules.put(HouseholdsConfigGroup.GROUP_NAME, new HouseholdsConfigGroup());
132 
133  this.modules.put(EventsManagerConfigGroup.GROUP_NAME, new EventsManagerConfigGroup() );
134 
135  this.modules.put(FacilitiesConfigGroup.GROUP_NAME, new FacilitiesConfigGroup());
136 
137  this.modules.put(ReplanningConfigGroup.GROUP_NAME, new ReplanningConfigGroup());
138 
139  this.modules.put(TravelTimeCalculatorConfigGroup.GROUPNAME, new TravelTimeCalculatorConfigGroup());
140 
141  this.modules.put(ScenarioConfigGroup.GROUP_NAME, new ScenarioConfigGroup());
142 
143  this.modules.put(RoutingConfigGroup.GROUP_NAME, new RoutingConfigGroup());
144 
145  this.modules.put(TimeAllocationMutatorConfigGroup.GROUP_NAME, new TimeAllocationMutatorConfigGroup());
146 
147  this.modules.put(VspExperimentalConfigGroup.GROUP_NAME, new VspExperimentalConfigGroup());
148 
149 
150  this.modules.put(TransitConfigGroup.GROUP_NAME, new TransitConfigGroup());
151 
152  this.modules.put(LinkStatsConfigGroup.GROUP_NAME, new LinkStatsConfigGroup());
153 
154  this.modules.put(TransitRouterConfigGroup.GROUP_NAME, new TransitRouterConfigGroup());
155 
156  this.modules.put( SubtourModeChoiceConfigGroup.GROUP_NAME , new SubtourModeChoiceConfigGroup() );
157 
158  this.modules.put( VehiclesConfigGroup.GROUP_NAME , new VehiclesConfigGroup() ) ;
159 
160  this.modules.put(ChangeModeConfigGroup.CONFIG_MODULE, new ChangeModeConfigGroup());
161 
162  this.modules.put(ChangeLegModeConfigGroup.CONFIG_MODULE, new ChangeLegModeConfigGroup());
163  // only to provide error messages. kai, may'16
164 
165  this.modules.put(HermesConfigGroup.NAME, new HermesConfigGroup());
166 
167  this.modules.put(ReplanningAnnealerConfigGroup.GROUP_NAME, new ReplanningAnnealerConfigGroup());
168 
169  this.modules.put(PlanInheritanceConfigGroup.GROUP_NAME, new PlanInheritanceConfigGroup());
170 
171  this.addConfigConsistencyChecker(new VspConfigConsistencyCheckerImpl());
172  this.addConfigConsistencyChecker(new UnmaterializedConfigGroupChecker());
173  this.addConfigConsistencyChecker(new BeanValidationConfigConsistencyChecker());
174  }
void addConfigConsistencyChecker(final ConfigConsistencyChecker checker)
Definition: Config.java:493
final TreeMap< String, ConfigGroup > modules
Definition: Config.java:80
Here is the call graph for this function:

◆ checkConsistency()

void org.matsim.core.config.Config.checkConsistency ( )

Checks each module for consistency, e.g. if the parameters that are currently set make sense in their combination.

Definition at line 180 of file Config.java.

Referenced by org.matsim.core.controler.ControllerUtils.checkConfigConsistencyAndWriteToLog(), and org.matsim.core.controler.Controler.createInjector().

180  {
181  for (ConfigGroup m : this.modules.values()) {
182  m.checkConsistency(this);
183  }
184  for (ConfigConsistencyChecker c : this.consistencyCheckers) {
185  c.checkConsistency(this);
186  }
187 // for (Module m : this.modules.values()) {
188 // if (m.getClass() == Module.class) {
189 // throw new RuntimeException("Config group " + m.getName() + " is present, but has never been read." +
190 // "This is probably an error: You may be expecting functionality which is not available." +
191 // "Maybe you need to add something to the Controler?");
192 // }
193 // }
194  }
final List< ConfigConsistencyChecker > consistencyCheckers
Definition: Config.java:90
final TreeMap< String, ConfigGroup > modules
Definition: Config.java:80

◆ createModule()

final ConfigGroup org.matsim.core.config.Config.createModule ( final String  name)

Creates a new module / config-group with the specified name.

Parameters
nameThe name of the config-group to be created.
Returns
the newly created config group
Exceptions
IllegalArgumentExceptionif a config-group with the specified name already exists.

Definition at line 210 of file Config.java.

Referenced by org.matsim.core.config.Config.setParam().

210  {
211  if (this.modules.containsKey(name)) {
212  throw new IllegalArgumentException("Module " + name + " exists already.");
213  }
214  ConfigGroup m = new ConfigGroup(name);
215  this.modules.put(name, m);
216  return m;
217  }
final TreeMap< String, ConfigGroup > modules
Definition: Config.java:80

◆ addModule()

final void org.matsim.core.config.Config.addModule ( final ConfigGroup  specializedConfigModule)

Adds the specified module / config-group with the specified name to the configuration.

This is the typical way to "materialize" material that, so far, exists only as Map, into a specialized module.

Parameters
specializedConfigModule
Exceptions
IllegalArgumentExceptionif a config-group with the specified name already exists.

Definition at line 229 of file Config.java.

References org.matsim.core.config.ConfigGroup.getName().

Referenced by org.matsim.core.config.ConfigUtils.addOrGetModule(), org.matsim.core.config.ConfigUtils.createConfig(), org.matsim.core.config.ConfigUtils.loadConfig(), and org.matsim.run.ConvertOldPlanCalcScoreConfigGroup.main().

229  {
230  String name = specializedConfigModule.getName();
231  if (name == null || name.isEmpty()) {
232  throw new RuntimeException("cannot insert module with empty name") ;
233  }
234  // The logic is as follows:
235  // (1) assume that module is some SpecializedConfigModule that extends Module
236 
237  // (2) it is presumably found here from parsing, but as a general Module:
238  ConfigGroup m = this.modules.get(name);
239 
240  if (m != null) {
241  // (3) this is the corresponding test: m is general, module is specialized:
242  if (m.getClass() == ConfigGroup.class && specializedConfigModule.getClass() != ConfigGroup.class) {
243  // (4) go through everything in m (from parsing) and add it to module:
244  copyTo(m, specializedConfigModule);
245 
246  // (5) register the resulting module under "name" (which will over-write m):
247  this.modules.put(name, specializedConfigModule);
248  } else {
249  throw new IllegalArgumentException("Module " + name + " exists already.");
250  }
251  }
252  this.modules.put(name, specializedConfigModule);
253  }
static void copyTo(ConfigGroup source, ConfigGroup destination)
Definition: Config.java:255
final TreeMap< String, ConfigGroup > modules
Definition: Config.java:80
Here is the call graph for this function:

◆ copyTo()

static void org.matsim.core.config.Config.copyTo ( ConfigGroup  source,
ConfigGroup  destination 
)
staticprivate

Definition at line 255 of file Config.java.

References org.matsim.core.config.ConfigGroup.addParam(), org.matsim.core.config.ConfigGroup.addParameterSet(), org.matsim.core.config.ConfigGroup.createParameterSet(), org.matsim.core.config.ConfigGroup.getParameterSets(), and org.matsim.core.config.ConfigGroup.getParams().

255  {
256  for (Map.Entry<String, String> e : source.getParams().entrySet()) {
257  destination.addParam(e.getKey(), e.getValue());
258  }
259 
260  for (Collection<? extends ConfigGroup> sourceSets : source.getParameterSets().values()) {
261  for (ConfigGroup sourceSet : sourceSets) {
262  ConfigGroup destinationSet = destination.createParameterSet(sourceSet.getName());
263  copyTo(sourceSet, destinationSet);
264  destination.addParameterSet(destinationSet);
265  }
266  }
267  }
static void copyTo(ConfigGroup source, ConfigGroup destination)
Definition: Config.java:255
Here is the call graph for this function:

◆ removeModule()

final void org.matsim.core.config.Config.removeModule ( final String  name)

Removes the specified module / config-group with the specified name from the configuration. Does nothing if this module was not existing.

Parameters
name

Definition at line 276 of file Config.java.

276  {
277  if (this.modules.containsKey(name)) {
278  this.modules.remove(name);
279  log.warn("Module \"" + name + "\" is removed manually from config");
280 
281  }
282  }
static final Logger log
Definition: Config.java:93
final TreeMap< String, ConfigGroup > modules
Definition: Config.java:80

◆ getModules()

final TreeMap<String, ConfigGroup> org.matsim.core.config.Config.getModules ( )

◆ getModule()

final ConfigGroup org.matsim.core.config.Config.getModule ( final String  moduleName)

Returns the requested module, or null if the module does not exist.

Parameters
moduleNamename of the requested module
Returns
requested module

Definition at line 301 of file Config.java.

Referenced by org.matsim.core.config.ConfigUtils.addOrGetModule(), org.matsim.core.config.Config.changeMode(), org.matsim.core.config.consistency.VspConfigConsistencyCheckerImpl.checkLocationChoiceConfigGroup(), org.matsim.core.config.Config.controller(), org.matsim.core.config.Config.counts(), org.matsim.core.config.Config.eventsManager(), org.matsim.core.config.Config.facilities(), org.matsim.core.config.Config.global(), org.matsim.core.config.Config.hermes(), org.matsim.core.config.Config.households(), org.matsim.core.config.Config.linkStats(), org.matsim.core.config.Config.network(), org.matsim.core.config.Config.planInheritance(), org.matsim.core.config.Config.plans(), org.matsim.core.config.Config.qsim(), org.matsim.core.config.Config.replanning(), org.matsim.core.config.Config.replanningAnnealer(), org.matsim.core.config.Config.routing(), org.matsim.core.config.Config.scenario(), org.matsim.core.config.Config.scoring(), org.matsim.core.config.Config.subtourModeChoice(), org.matsim.core.config.Config.timeAllocationMutator(), org.matsim.core.config.Config.transit(), org.matsim.core.config.Config.transitRouter(), org.matsim.core.config.Config.travelTimeCalculator(), org.matsim.core.config.Config.vehicles(), and org.matsim.core.config.Config.vspExperimental().

301  {
302  return this.modules.get(moduleName);
303  }
final TreeMap< String, ConfigGroup > modules
Definition: Config.java:80

◆ getParam()

final String org.matsim.core.config.Config.getParam ( final String  moduleName,
final String  paramName 
)

Returns the requested parameter. If the module or parameter is not known, an error is logged and an IllegalArgumentException is thrown.

Parameters
moduleName
paramName
Returns
the requested parameter
Exceptions
IllegalArgumentExceptionif the module or parameter does not exist
See also
findParam(String, String)

Definition at line 318 of file Config.java.

References org.matsim.core.config.ConfigGroup.getValue().

Referenced by org.matsim.run.Events2Snapshot.run().

318  {
319  ConfigGroup m = this.modules.get(moduleName);
320  if (m == null) {
321  log.error("Module \"" + moduleName + "\" is not known.");
322  throw new IllegalArgumentException("Module \"" + moduleName + "\" is not known.");
323  }
324  String str = m.getValue(paramName);
325  if (str == null) {
326  String message = "Parameter \"" + paramName + "\" of module \"" + moduleName + "\" is not known";
327  log.error(message);
328  throw new IllegalArgumentException(message);
329  }
330  return str;
331  }
static final Logger log
Definition: Config.java:93
final TreeMap< String, ConfigGroup > modules
Definition: Config.java:80
Here is the call graph for this function:

◆ findParam()

final String org.matsim.core.config.Config.findParam ( final String  moduleName,
final String  paramName 
)

Returns the value of the specified parameter if it exists, or null otherwise.

Parameters
moduleNamename of the config-module
paramNamename of parameter in the specified module
Returns
value of the parameter if it exists, null otherwise
See also
getParam(String, String)

Definition at line 346 of file Config.java.

References org.matsim.core.config.ConfigGroup.getValue().

Referenced by org.matsim.core.config.consistency.VspConfigConsistencyCheckerImpl.checkLocationChoiceConfigGroup(), and org.matsim.facilities.algorithms.WorldConnectLocations.connectFacilitiesWithLinks().

346  {
347  ConfigGroup m = this.modules.get(moduleName);
348  if (m == null) {
349  return null;
350  }
351  try {
352  String str = m.getValue(paramName);
353  return str;
354  } catch (IllegalArgumentException e) {
355  return null;
356  }
357  }
final TreeMap< String, ConfigGroup > modules
Definition: Config.java:80
Here is the call graph for this function:

◆ toString()

final String org.matsim.core.config.Config.toString ( )

Definition at line 364 of file Config.java.

364  {
365  return "[nof_modules=" + this.modules.size() + "]";
366  }
final TreeMap< String, ConfigGroup > modules
Definition: Config.java:80

◆ setParam()

final void org.matsim.core.config.Config.setParam ( final String  moduleName,
final String  paramName,
final String  value 
)

Sets the parameter paramName in the module/config-group moduleName to the specified value. If there is no config-group with the specified name, a new group will be created.

Parameters
moduleName
paramName
value

Definition at line 381 of file Config.java.

References org.matsim.core.config.ConfigGroup.addParam(), org.matsim.core.config.Config.checkIfLocked(), and org.matsim.core.config.Config.createModule().

381  {
382  checkIfLocked();
383  ConfigGroup m = this.modules.get(moduleName);
384  if (m == null) {
385  m = createModule(moduleName);
386  log.info("module \"" + moduleName + "\" added.");
387  }
388  m.addParam(paramName, value);
389  }
final ConfigGroup createModule(final String name)
Definition: Config.java:210
static final Logger log
Definition: Config.java:93
final TreeMap< String, ConfigGroup > modules
Definition: Config.java:80
Here is the call graph for this function:

◆ global()

final GlobalConfigGroup org.matsim.core.config.Config.global ( )

◆ controller()

final ControllerConfigGroup org.matsim.core.config.Config.controller ( )

Definition at line 399 of file Config.java.

References org.matsim.core.config.Config.getModule(), and org.matsim.core.config.groups.ControllerConfigGroup.GROUP_NAME.

Referenced by org.matsim.core.mobsim.hermes.HermesConfigGroup.checkConsistency(), org.matsim.core.config.groups.ControllerConfigGroup.checkConsistency(), org.matsim.core.config.consistency.VspConfigConsistencyCheckerImpl.checkControlerConfigGroup(), org.matsim.core.config.consistency.ConfigConsistencyCheckerImpl.checkEventsFormatLanesSignals(), org.matsim.core.config.consistency.ConfigConsistencyCheckerImpl.checkLaneDefinitionRoutingConfiguration(), org.matsim.core.config.consistency.ConfigConsistencyCheckerImpl.checkScenarioFeaturesEnabled(), org.matsim.core.config.consistency.ConfigConsistencyCheckerImpl.checkTravelTimeCalculationRoutingConfiguration(), org.matsim.core.replanning.annealing.ReplanningAnnealer.getInnovationStop(), org.matsim.core.router.LeastCostPathCalculatorModule.install(), org.matsim.core.router.TripRouterModule.install(), org.matsim.run.gui.Gui.loadConfigFile(), org.matsim.run.Events2Snapshot.loadSnapshotWriters(), org.matsim.withinday.controller.ExampleWithinDayController.main(), org.matsim.core.config.ConfigUtils.modifyFilePaths(), org.matsim.withinday.controller.ExecutedPlansServiceImpl.notifyAfterMobsim(), org.matsim.core.replanning.annealing.ReplanningAnnealer.notifyIterationStarts(), and org.matsim.core.controler.OutputDirectoryHierarchy.OutputDirectoryHierarchy().

399  {
400  return (ControllerConfigGroup) this.getModule(ControllerConfigGroup.GROUP_NAME);
401  }
final ConfigGroup getModule(final String moduleName)
Definition: Config.java:301
Here is the call graph for this function:

◆ counts()

final CountsConfigGroup org.matsim.core.config.Config.counts ( )

Definition at line 403 of file Config.java.

References org.matsim.core.config.Config.getModule(), and org.matsim.core.config.groups.CountsConfigGroup.GROUP_NAME.

Referenced by org.matsim.core.config.ConfigUtils.modifyFilePaths().

403  {
404  return (CountsConfigGroup) this.getModule(CountsConfigGroup.GROUP_NAME);
405  }
final ConfigGroup getModule(final String moduleName)
Definition: Config.java:301
Here is the call graph for this function:

◆ scoring()

final ScoringConfigGroup org.matsim.core.config.Config.scoring ( )

◆ network()

final NetworkConfigGroup org.matsim.core.config.Config.network ( )

◆ plans()

final PlansConfigGroup org.matsim.core.config.Config.plans ( )

◆ households()

final HouseholdsConfigGroup org.matsim.core.config.Config.households ( )

Definition at line 419 of file Config.java.

References org.matsim.core.config.Config.getModule(), and org.matsim.core.config.groups.HouseholdsConfigGroup.GROUP_NAME.

Referenced by org.matsim.core.config.ConfigUtils.modifyFilePaths().

419  {
420  return (HouseholdsConfigGroup) this.getModule(HouseholdsConfigGroup.GROUP_NAME);
421  }
final ConfigGroup getModule(final String moduleName)
Definition: Config.java:301
Here is the call graph for this function:

◆ facilities()

final FacilitiesConfigGroup org.matsim.core.config.Config.facilities ( )

◆ replanning()

final ReplanningConfigGroup org.matsim.core.config.Config.replanning ( )

◆ travelTimeCalculator()

TravelTimeCalculatorConfigGroup org.matsim.core.config.Config.travelTimeCalculator ( )

◆ scenario()

ScenarioConfigGroup org.matsim.core.config.Config.scenario ( )

Definition at line 435 of file Config.java.

References org.matsim.core.config.Config.getModule(), and org.matsim.core.config.groups.ScenarioConfigGroup.GROUP_NAME.

Referenced by org.matsim.core.scoring.functions.ScoringParameters.Builder.Builder(), and org.matsim.core.scoring.functions.SubpopulationScoringParameters.SubpopulationScoringParameters().

435  {
436  return (ScenarioConfigGroup) this.getModule(ScenarioConfigGroup.GROUP_NAME);
437  }
final ConfigGroup getModule(final String moduleName)
Definition: Config.java:301
Here is the call graph for this function:

◆ routing()

RoutingConfigGroup org.matsim.core.config.Config.routing ( )

◆ vspExperimental()

VspExperimentalConfigGroup org.matsim.core.config.Config.vspExperimental ( )

◆ qsim()

QSimConfigGroup org.matsim.core.config.Config.qsim ( )

Definition at line 447 of file Config.java.

References org.matsim.core.config.Config.getModule(), and org.matsim.core.config.groups.QSimConfigGroup.GROUP_NAME.

Referenced by org.matsim.lanes.LanesUtils.calculateMissingCapacitiesForLanes20(), org.matsim.core.config.consistency.ConfigConsistencyCheckerImpl.checkEventsFormatLanesSignals(), org.matsim.core.config.consistency.ConfigConsistencyCheckerImpl.checkLaneDefinitionRoutingConfiguration(), org.matsim.core.config.consistency.VspConfigConsistencyCheckerImpl.checkQsimConfigGroup(), org.matsim.core.config.consistency.ConfigConsistencyCheckerImpl.checkScenarioFeaturesEnabled(), org.matsim.core.config.consistency.ConfigConsistencyCheckerImpl.checkTravelTimeCalculationRoutingConfiguration(), org.matsim.core.mobsim.qsim.qnetsimengine.ConfigurableQNetworkFactory.ConfigurableQNetworkFactory(), org.matsim.core.controler.Controler.Controler(), org.matsim.core.utils.timing.TimeInterpretation.create(), org.matsim.core.network.algorithms.NetworkTurnInfoBuilder.createAllowedTurnInfos(), org.matsim.core.mobsim.qsim.qnetsimengine.DefaultQNetworkFactory.createNetsimNode(), org.matsim.core.mobsim.qsim.DefaultTeleportationEngine.DefaultTeleportationEngine(), org.matsim.core.mobsim.qsim.agents.BasicPlanAgentImpl.getPlannedVehicleId(), org.matsim.core.mobsim.qsim.qnetsimengine.DefaultQNetworkFactory.initializeFactory(), org.matsim.core.mobsim.qsim.QSim.initSimTimer(), org.matsim.core.mobsim.qsim.agents.PopulationAgentSource.insertVehicles(), org.matsim.run.Events2Snapshot.prepare(), org.matsim.core.mobsim.qsim.QSim.QSim(), and org.matsim.run.Events2Snapshot.run().

447  {
448  return (QSimConfigGroup) this.getModule(QSimConfigGroup.GROUP_NAME);
449  }
final ConfigGroup getModule(final String moduleName)
Definition: Config.java:301
Here is the call graph for this function:

◆ transit()

TransitConfigGroup org.matsim.core.config.Config.transit ( )

◆ transitRouter()

TransitRouterConfigGroup org.matsim.core.config.Config.transitRouter ( )

Definition at line 455 of file Config.java.

References org.matsim.core.config.Config.getModule(), and org.matsim.pt.config.TransitRouterConfigGroup.GROUP_NAME.

Referenced by ch.sbb.matsim.routing.pt.raptor.RaptorUtils.createParameters(), ch.sbb.matsim.routing.pt.raptor.RaptorUtils.createStaticConfig(), and org.matsim.pt.router.TransitRouterConfig.TransitRouterConfig().

455  {
456  return (TransitRouterConfigGroup) this.getModule(TransitRouterConfigGroup.GROUP_NAME);
457  }
final ConfigGroup getModule(final String moduleName)
Definition: Config.java:301
Here is the call graph for this function:

◆ linkStats()

LinkStatsConfigGroup org.matsim.core.config.Config.linkStats ( )

Definition at line 459 of file Config.java.

References org.matsim.core.config.Config.getModule(), and org.matsim.core.config.groups.LinkStatsConfigGroup.GROUP_NAME.

459  {
460  return (LinkStatsConfigGroup) this.getModule(LinkStatsConfigGroup.GROUP_NAME);
461  }
final ConfigGroup getModule(final String moduleName)
Definition: Config.java:301
Here is the call graph for this function:

◆ timeAllocationMutator()

TimeAllocationMutatorConfigGroup org.matsim.core.config.Config.timeAllocationMutator ( )

Definition at line 463 of file Config.java.

References org.matsim.core.config.Config.getModule(), and org.matsim.core.config.groups.TimeAllocationMutatorConfigGroup.GROUP_NAME.

Referenced by org.matsim.core.config.consistency.VspConfigConsistencyCheckerImpl.checkStrategyConfigGroup(), and org.matsim.core.config.ConfigUtils.setVspDefaults().

463  {
464  return (TimeAllocationMutatorConfigGroup) this.getModule(TimeAllocationMutatorConfigGroup.GROUP_NAME);
465  }
final ConfigGroup getModule(final String moduleName)
Definition: Config.java:301
Here is the call graph for this function:

◆ eventsManager()

EventsManagerConfigGroup org.matsim.core.config.Config.eventsManager ( )

Definition at line 467 of file Config.java.

References org.matsim.core.config.Config.getModule(), and org.matsim.core.config.groups.EventsManagerConfigGroup.GROUP_NAME.

Referenced by org.matsim.core.mobsim.hermes.HermesConfigGroup.checkConsistency(), and org.matsim.core.controler.Controler.Controler().

467  {
468  return (EventsManagerConfigGroup) this.getModule(EventsManagerConfigGroup.GROUP_NAME);
469  }
final ConfigGroup getModule(final String moduleName)
Definition: Config.java:301
Here is the call graph for this function:

◆ subtourModeChoice()

SubtourModeChoiceConfigGroup org.matsim.core.config.Config.subtourModeChoice ( )

Definition at line 471 of file Config.java.

References org.matsim.core.config.Config.getModule(), and org.matsim.core.config.groups.SubtourModeChoiceConfigGroup.GROUP_NAME.

Referenced by org.matsim.core.config.consistency.VspConfigConsistencyCheckerImpl.checkStrategyConfigGroup(), and org.matsim.core.population.algorithms.PermissibleModesCalculatorImpl.PermissibleModesCalculatorImpl().

471  {
472  return (SubtourModeChoiceConfigGroup) this.getModule(SubtourModeChoiceConfigGroup.GROUP_NAME);
473  }
final ConfigGroup getModule(final String moduleName)
Definition: Config.java:301
Here is the call graph for this function:

◆ changeMode()

ChangeModeConfigGroup org.matsim.core.config.Config.changeMode ( )

Definition at line 475 of file Config.java.

References org.matsim.core.config.groups.ChangeModeConfigGroup.CONFIG_MODULE, and org.matsim.core.config.Config.getModule().

475  {
476  return (ChangeModeConfigGroup) this.getModule(ChangeModeConfigGroup.CONFIG_MODULE);
477  }
final ConfigGroup getModule(final String moduleName)
Definition: Config.java:301
Here is the call graph for this function:

◆ hermes()

HermesConfigGroup org.matsim.core.config.Config.hermes ( )

Definition at line 479 of file Config.java.

References org.matsim.core.config.Config.getModule(), and org.matsim.core.mobsim.hermes.HermesConfigGroup.NAME.

479  {
480  return (HermesConfigGroup) this.getModule(HermesConfigGroup.NAME);
481  }
final ConfigGroup getModule(final String moduleName)
Definition: Config.java:301
Here is the call graph for this function:

◆ replanningAnnealer()

ReplanningAnnealerConfigGroup org.matsim.core.config.Config.replanningAnnealer ( )

Definition at line 483 of file Config.java.

References org.matsim.core.config.Config.getModule(), and org.matsim.core.replanning.annealing.ReplanningAnnealerConfigGroup.GROUP_NAME.

483  {
484  return (ReplanningAnnealerConfigGroup) this.getModule(ReplanningAnnealerConfigGroup.GROUP_NAME);
485  }
final ConfigGroup getModule(final String moduleName)
Definition: Config.java:301
Here is the call graph for this function:

◆ planInheritance()

PlanInheritanceConfigGroup org.matsim.core.config.Config.planInheritance ( )

Definition at line 487 of file Config.java.

References org.matsim.core.config.Config.getModule(), and org.matsim.core.config.groups.PlanInheritanceConfigGroup.GROUP_NAME.

487  {
488  return (PlanInheritanceConfigGroup) this.getModule(PlanInheritanceConfigGroup.GROUP_NAME);
489  }
final ConfigGroup getModule(final String moduleName)
Definition: Config.java:301
Here is the call graph for this function:

◆ addConfigConsistencyChecker()

void org.matsim.core.config.Config.addConfigConsistencyChecker ( final ConfigConsistencyChecker  checker)

Definition at line 493 of file Config.java.

Referenced by org.matsim.core.config.Config.addCoreModules(), org.matsim.core.controler.Controler.Controler(), and org.matsim.core.controler.Controler.createInjector().

493  {
494  boolean alreadyExists = false;
495  for (ConfigConsistencyChecker ch : consistencyCheckers) {
496  if (ch.getClass().equals(checker.getClass())) {
497  alreadyExists = true;
498  }
499  }
500  if ( !alreadyExists ) {
501  this.consistencyCheckers.add(checker);
502  } else {
503  log.info( "ConfigConsistencyChecker with runtime type=" + checker.getClass() + " was already added; not adding it a second time" ) ;
504  }
505  }
static final Logger log
Definition: Config.java:93
final List< ConfigConsistencyChecker > consistencyCheckers
Definition: Config.java:90

◆ removeConfigConsistencyChecker()

void org.matsim.core.config.Config.removeConfigConsistencyChecker ( final Class  clazz)

Definition at line 507 of file Config.java.

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

507  {
508  // I am not saying that I like this. But I would like to be able to check config consistency before the iterator is created, but by then we still have
509  // unmaterialized config groups, and so I need to remove that checker at that point. Maybe we can sort this in some different way ...
510  consistencyCheckers.removeIf( ch -> ch.getClass().equals( clazz ) );
511  }
final List< ConfigConsistencyChecker > consistencyCheckers
Definition: Config.java:90

◆ isLocked()

final boolean org.matsim.core.config.Config.isLocked ( )

Definition at line 513 of file Config.java.

References org.matsim.core.config.Config.locked.

Referenced by org.matsim.core.config.Config.checkIfLocked().

513  {
514  return this.locked;
515  }

◆ setLocked()

final void org.matsim.core.config.Config.setLocked ( boolean  locked)

Definition at line 517 of file Config.java.

References org.matsim.core.config.Config.locked.

517  {
518  this.locked = locked;
519  }

◆ checkIfLocked()

void org.matsim.core.config.Config.checkIfLocked ( )
private

Definition at line 521 of file Config.java.

References org.matsim.core.config.Config.isLocked().

Referenced by org.matsim.core.config.Config.setParam().

521  {
522  if ( this.isLocked() ) {
523  log.error("too late in execution sequence to set config items. Use");
524  log.error(" Config config = ConfigUtils.loadConfig(filename); ");
525  log.error(" config.xxx().setYyy(...); ");
526  log.error(" Controler ctrl = new Controler( config );");
527  log.error("or") ;
528  log.error(" Config config = ConfigUtils.loadConfig(filename); ");
529  log.error(" config.xxx().setYyy(...); ");
530  log.error(" Scenario scenario = ScenarioUtils.loadScenario(config);") ;
531  log.error(" // do something with scenario") ;
532  log.error(" Controler ctrl = new Controler( scenario );");
533  log.error("This will be changed to an abortive error in the future."); // kai, feb'13
534  }
535  }
final boolean isLocked()
Definition: Config.java:513
static final Logger log
Definition: Config.java:93
Here is the call graph for this function:

◆ vehicles()

final VehiclesConfigGroup org.matsim.core.config.Config.vehicles ( )

Definition at line 537 of file Config.java.

References org.matsim.core.config.Config.getModule(), and org.matsim.core.config.groups.VehiclesConfigGroup.GROUP_NAME.

537  {
538  return (VehiclesConfigGroup) this.getModule(VehiclesConfigGroup.GROUP_NAME);
539  }
final ConfigGroup getModule(final String moduleName)
Definition: Config.java:301
Here is the call graph for this function:

◆ setContext()

void org.matsim.core.config.Config.setContext ( URL  context)

Definition at line 541 of file Config.java.

References org.matsim.core.config.Config.context.

Referenced by org.matsim.core.config.Config.Config(), org.matsim.core.config.ConfigUtils.createConfig(), and org.matsim.core.config.ConfigUtils.loadConfig().

541  {
542  if ( this.context==null || !(context.toString().equals( this.context.toString() ) ) ) {
543  log.info("setting context to [" + context + "]");
544  // ConfigUtils.createConfig() is used at several places, e.g. when generating an empty
545  // scenario to obtain the default factories. This will evidently produce output here,
546  // and in some sense the wrong output, since the relevant context is probably set from
547  // some config file path and in fact _not_ changed since this here will be a different
548  // ``throwaway'' config instance. :-( kai, jun'18
549  }
550  this.context = context;
551  }
static final Logger log
Definition: Config.java:93

◆ getContext()

URL org.matsim.core.config.Config.getContext ( )

Definition at line 553 of file Config.java.

References org.matsim.core.config.Config.context.

553  {
554  return context;
555  }

Member Data Documentation

◆ modules

final TreeMap<String, ConfigGroup> org.matsim.core.config.Config.modules = new TreeMap<>()
private

Map of all config-groups known to this instance.

Definition at line 80 of file Config.java.

Referenced by org.matsim.core.config.Config.getModules().

◆ consistencyCheckers

final List<ConfigConsistencyChecker> org.matsim.core.config.Config.consistencyCheckers = new ArrayList<>()
private

Definition at line 90 of file Config.java.

◆ log

final Logger org.matsim.core.config.Config.log = LogManager.getLogger(Config.class)
staticprivate

static Logger-instance.

Definition at line 93 of file Config.java.

◆ locked

boolean org.matsim.core.config.Config.locked = false
private

◆ context

URL org.matsim.core.config.Config.context
private

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