22 package org.matsim.core.mobsim.framework;
24 import java.util.Collection;
25 import java.util.List;
26 import java.util.Objects;
30 import com.google.inject.AbstractModule;
31 import com.google.inject.Module;
32 import com.google.inject.util.Modules;
40 this.config = Objects.requireNonNull(config);
48 this.parent = Objects.requireNonNull(parent);
60 throw new IllegalStateException(
61 "No config set. Did you try to use the module outside of the QSim initialization process?");
65 if (iterationNumber != null) {
73 throw new IllegalStateException(
74 "No iteration number set. Did you try to use the module outside of the QSim initialization process?");
84 List<AbstractMobsimModule> overrides) {
85 Module composite = Modules.override(base).with(overrides);
94 base.forEach(m -> m.setParent(wrapper));
95 overrides.forEach(m -> m.setParent(wrapper));
final void setConfig(Config config)
final int getIterationNumber()
AbstractMobsimModule parent
abstract void configureMobsim()
static AbstractMobsimModule overrideMobsimModules(Collection< AbstractMobsimModule > base, List< AbstractMobsimModule > overrides)
final void setIterationNumber(int iterationNumber)
final void setParent(AbstractMobsimModule parent)