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

Classes

class  ReflectiveDelegate
 
class  StrategySettings
 

Public Member Functions

 StrategyConfigGroup ()
 
String getValue (final String key)
 
void addParam (final String key, final String value)
 
final Map< String, String > getComments ()
 
ConfigGroup createParameterSet (final String type)
 
void addStrategySettings (final StrategySettings stratSets)
 
final void clearStrategySettings ()
 
Collection< StrategySettingsgetStrategySettings ()
 
void setMaxAgentPlanMemorySize (int maxAgentPlanMemorySize)
 
int getMaxAgentPlanMemorySize ()
 
void setExternalExeConfigTemplate (String externalExeConfigTemplate)
 
String getExternalExeConfigTemplate ()
 
void setExternalExeTmpFileRootDir (String externalExeTmpFileRootDir)
 
String getExternalExeTmpFileRootDir ()
 
void setExternalExeTimeOut (long externalExeTimeOut)
 
long getExternalExeTimeOut ()
 
String getPlanSelectorForRemoval ()
 
void setPlanSelectorForRemoval (String planSelectorForRemoval)
 
double getFractionOfIterationsToDisableInnovation ()
 
void setFractionOfIterationsToDisableInnovation (double fraction)
 
final Map< String, String > getParams ()
 
final String getName ()
 
final String toString ()
 
void addParameterSet (final ConfigGroup set)
 
boolean removeParameterSet (final ConfigGroup set)
 
final Collection<? extends ConfigGroupgetParameterSets (final String type)
 
final Map< String, ? extends Collection<? extends ConfigGroup > > getParameterSets ()
 
final boolean isLocked ()
 
void setLocked ()
 
final void testForLocked ()
 

Static Public Member Functions

static URL getInputFileURL (URL context, String filename)
 

Static Public Attributes

static final String GROUP_NAME = "strategy"
 

Protected Member Functions

void checkParameterSet (final ConfigGroup set)
 
void checkConsistency (Config config)
 
void addParameterToMap (final Map< String, String > map, final String paramName)
 
final Collection<? extends ConfigGroupclearParameterSetsForType (final String type)
 

Private Member Functions

StrategySettings getStrategySettings (final Id< StrategySettings > index, final boolean createIfMissing)
 

Private Attributes

final ReflectiveDelegate delegate = new ReflectiveDelegate()
 

Static Private Attributes

static final String MODULE = "Module_"
 
static final String MODULE_PROBABILITY = "ModuleProbability_"
 
static final String MODULE_DISABLE_AFTER_ITERATION = "ModuleDisableAfterIteration_"
 
static final String MODULE_EXE_PATH = "ModuleExePath_"
 
static final String MODULE_SUBPOPULATION = "ModuleSubpopulation_"
 

Detailed Description

Configuration group for specifying the plans-replanning to be used. It can still be specified using the "underscored" way, but can only be written in hierarchical format "v2". Trying to write v1 will result in the strategy settings being silently lost!

Author
mrieser

Definition at line 44 of file StrategyConfigGroup.java.

Constructor & Destructor Documentation

◆ StrategyConfigGroup()

org.matsim.core.config.groups.StrategyConfigGroup.StrategyConfigGroup ( )

Member Function Documentation

◆ getValue()

String org.matsim.core.config.groups.StrategyConfigGroup.getValue ( final String  key)

Definition at line 212 of file StrategyConfigGroup.java.

References org.matsim.core.config.groups.StrategyConfigGroup.delegate, org.matsim.core.config.ReflectiveConfigGroup.getValue(), org.matsim.core.config.groups.StrategyConfigGroup.MODULE, org.matsim.core.config.groups.StrategyConfigGroup.MODULE_DISABLE_AFTER_ITERATION, org.matsim.core.config.groups.StrategyConfigGroup.MODULE_EXE_PATH, org.matsim.core.config.groups.StrategyConfigGroup.MODULE_PROBABILITY, and org.matsim.core.config.groups.StrategyConfigGroup.MODULE_SUBPOPULATION.

212  {
213  // first check if the parameter is in "underscored" form
214  if ( key.startsWith(MODULE)
215  || key.startsWith(MODULE_PROBABILITY)
216  || key.startsWith(MODULE_DISABLE_AFTER_ITERATION)
217  || key.startsWith(MODULE_EXE_PATH)
218  || key.startsWith(MODULE_SUBPOPULATION) ) {
219  throw new IllegalArgumentException( "getting underscored parameter "+key+" is not allowed anymore. The supported way to get those parameters is via parameter sets." );
220  }
221 
222  return delegate.getValue( key );
223  }
final String getValue(final String param_name)
Here is the call graph for this function:

◆ addParam()

void org.matsim.core.config.groups.StrategyConfigGroup.addParam ( final String  key,
final String  value 
)

Definition at line 226 of file StrategyConfigGroup.java.

References org.matsim.core.config.ReflectiveConfigGroup.addParam(), org.matsim.api.core.v01.Id< T >.create(), org.matsim.core.config.groups.StrategyConfigGroup.delegate, org.matsim.core.config.groups.StrategyConfigGroup.getStrategySettings(), org.matsim.core.config.groups.StrategyConfigGroup.MODULE, org.matsim.core.config.groups.StrategyConfigGroup.MODULE_DISABLE_AFTER_ITERATION, org.matsim.core.config.groups.StrategyConfigGroup.MODULE_EXE_PATH, org.matsim.core.config.groups.StrategyConfigGroup.MODULE_PROBABILITY, org.matsim.core.config.groups.StrategyConfigGroup.MODULE_SUBPOPULATION, and org.matsim.core.config.groups.StrategyConfigGroup.StrategySettings.setDisableAfter().

226  {
227  // adding underscore parameters is still supported for backward compatibility.
228  if (key != null && key.startsWith(MODULE)) {
229  StrategySettings settings = getStrategySettings(Id.create(key.substring(MODULE.length()), StrategySettings.class), true);
230  settings.addParam( "strategyName" , value);
231  }
232  else if (key != null && key.startsWith(MODULE_PROBABILITY)) {
233  StrategySettings settings = getStrategySettings(Id.create(key.substring(MODULE_PROBABILITY.length()), StrategySettings.class), true);
234  settings.addParam( "weight" , value );
235  }
236  else if (key != null && key.startsWith(MODULE_DISABLE_AFTER_ITERATION)) {
237  StrategySettings settings = getStrategySettings(Id.create(key.substring(MODULE_DISABLE_AFTER_ITERATION.length()), StrategySettings.class), true);
238  settings.setDisableAfter(Integer.parseInt(value));
239  settings.addParam( "disableAfterIteration" , value );
240  }
241  else if (key != null && key.startsWith(MODULE_EXE_PATH)) {
242  StrategySettings settings = getStrategySettings(Id.create(key.substring(MODULE_EXE_PATH.length()), StrategySettings.class), true);
243  settings.addParam( "executionPath" , value );
244  }
245  else if (key != null && key.startsWith(MODULE_SUBPOPULATION)) {
246  StrategySettings settings = getStrategySettings(Id.create(key.substring(MODULE_SUBPOPULATION.length()), StrategySettings.class), true);
247  settings.addParam( "subpopulation" , value );
248  }
249  else {
250  delegate.addParam( key , value );
251  }
252  }
final void addParam(final String param_name, final String value)
Here is the call graph for this function:

◆ getStrategySettings() [1/2]

StrategySettings org.matsim.core.config.groups.StrategyConfigGroup.getStrategySettings ( final Id< StrategySettings index,
final boolean  createIfMissing 
)
private

Definition at line 254 of file StrategyConfigGroup.java.

References org.matsim.core.config.groups.StrategyConfigGroup.addStrategySettings(), org.matsim.core.config.groups.StrategyConfigGroup.getStrategySettings(), and org.matsim.core.config.groups.StrategyConfigGroup.StrategySettings.StrategySettings().

Referenced by org.matsim.core.config.consistency.VspConfigConsistencyCheckerImpl.checkStrategyConfigGroup(), org.matsim.core.config.ConfigUtils.createAvailableStrategyId(), org.matsim.core.replanning.annealing.ReplanningAnnealer.getInnovationStop(), org.matsim.core.replanning.annealing.ReplanningAnnealer.getStrategyWeights(), org.matsim.core.replanning.strategies.DefaultPlanStrategiesModule.install(), org.matsim.core.replanning.annealing.ReplanningAnnealer.notifyStartup(), and org.matsim.core.replanning.annealing.ReplanningAnnealer.rescaleStartupWeights().

254  {
255  StrategySettings settings = null;
256 
257  // should be in a map, but it is difficult to keep consistency with the
258  // delegate...
259  for ( StrategySettings s : getStrategySettings() ) {
260  if ( !s.getId().equals( index ) ) continue;
261  if ( settings != null ) throw new IllegalStateException( "several settings with id "+index );
262  settings = s;
263  }
264 
265  if (settings == null && createIfMissing) {
266  settings = new StrategySettings(index);
267  addStrategySettings( settings );
268  }
269 
270  return settings;
271  }
void addStrategySettings(final StrategySettings stratSets)
Here is the call graph for this function:

◆ getComments()

final Map<String, String> org.matsim.core.config.groups.StrategyConfigGroup.getComments ( )

Definition at line 276 of file StrategyConfigGroup.java.

References org.matsim.core.config.ConfigGroup.name.

276  {
277  Map<String,String> map = super.getComments();
278  map.put(ReflectiveDelegate.ITERATION_FRACTION_TO_DISABLE_INNOVATION, "fraction of iterations where innovative strategies are switched off. Something like 0.8 should be good. E.g. if you run from iteration 400 to iteration 500, innovation is switched off at iteration 480" ) ;
279  map.put(ReflectiveDelegate.MAX_AGENT_PLAN_MEMORY_SIZE, "maximum number of plans per agent. ``0'' means ``infinity''. Currently (2010), ``5'' is a good number");
280 
281  StringBuilder strb = new StringBuilder() ;
282  for ( DefaultPlansRemover name : DefaultPlansRemover.values() ) {
283  strb.append( name.toString() + " " ) ;
284  }
285  map.put(ReflectiveDelegate.PLAN_SELECTOR_FOR_REMOVAL,"strategyName of PlanSelector for plans removal. "
286  + "Possible defaults: " + strb.toString() + ". The current default, WorstPlanSelector is not a good " +
287  "choice from a discrete choice theoretical perspective. Alternatives, however, have not been systematically " +
288  "tested. kai, feb'12") ;
289 
290  map.put(ReflectiveDelegate.EXTERNAL_EXE_CONFIG_TEMPLATE,"the external executable will be called with a config file as argument. This is the pathname to a possible "
291  + "skeleton config, to which additional information will be added. Can be null.");
292  map.put(ReflectiveDelegate.EXTERNAL_EXE_TMP_FILE_ROOT_DIR, "root directory for temporary files generated by the external executable. Provided as a service; "
293  + "I don't think this is used by MATSim.") ;
294  map.put(ReflectiveDelegate.EXTERNAL_EXE_TIME_OUT, "time out value (in seconds) after which matsim will consider the external strategy as failed") ;
295  return map ;
296  }

◆ checkParameterSet()

void org.matsim.core.config.groups.StrategyConfigGroup.checkParameterSet ( final ConfigGroup  set)
protected

Definition at line 299 of file StrategyConfigGroup.java.

References org.matsim.core.config.ConfigGroup.getName(), and org.matsim.core.config.groups.StrategyConfigGroup.StrategySettings.SET_NAME.

299  {
300  switch ( set.getName() ) {
301  case StrategySettings.SET_NAME:
302  if ( !(set instanceof StrategySettings) ) {
303  throw new RuntimeException( set+" is not an instance of StrategySettings" );
304  }
305  break;
306  default:
307  throw new IllegalArgumentException( "unknown set type "+set.getName() );
308  }
309  }
Here is the call graph for this function:

◆ createParameterSet()

ConfigGroup org.matsim.core.config.groups.StrategyConfigGroup.createParameterSet ( final String  type)

Definition at line 312 of file StrategyConfigGroup.java.

References org.matsim.core.config.groups.StrategyConfigGroup.StrategySettings.SET_NAME, and org.matsim.core.config.groups.StrategyConfigGroup.StrategySettings.StrategySettings().

312  {
313  switch ( type ) {
314  case StrategySettings.SET_NAME:
315  return new StrategySettings( );
316  default:
317  throw new IllegalArgumentException( "unknown set type "+type );
318  }
319  }
Here is the call graph for this function:

◆ addStrategySettings()

void org.matsim.core.config.groups.StrategyConfigGroup.addStrategySettings ( final StrategySettings  stratSets)

Adds the StrategySettings given as parameter to the map storing the settings for the strategies. An IllegalArgumentException is thrown, if a StrategySEttings instance with the id of the parameter already exists in the map.

Parameters
stratSets

Definition at line 328 of file StrategyConfigGroup.java.

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

Referenced by org.matsim.core.config.groups.StrategyConfigGroup.getStrategySettings().

328  {
329  addParameterSet( stratSets );
330  }
void addParameterSet(final ConfigGroup set)
Here is the call graph for this function:

◆ clearStrategySettings()

final void org.matsim.core.config.groups.StrategyConfigGroup.clearStrategySettings ( )

Definition at line 332 of file StrategyConfigGroup.java.

References org.matsim.core.config.ConfigGroup.clearParameterSetsForType(), and org.matsim.core.config.groups.StrategyConfigGroup.StrategySettings.SET_NAME.

332  {
333  this.clearParameterSetsForType( StrategySettings.SET_NAME ) ;
334  }
final Collection<? extends ConfigGroup > clearParameterSetsForType(final String type)
Here is the call graph for this function:

◆ getStrategySettings() [2/2]

Collection<StrategySettings> org.matsim.core.config.groups.StrategyConfigGroup.getStrategySettings ( )

Definition at line 336 of file StrategyConfigGroup.java.

References org.matsim.core.config.ConfigGroup.getParameterSets(), and org.matsim.core.config.groups.StrategyConfigGroup.StrategySettings.SET_NAME.

Referenced by org.matsim.core.config.groups.StrategyConfigGroup.addParam(), and org.matsim.core.config.groups.StrategyConfigGroup.getStrategySettings().

336  {
337  // This does look pretty wrong, but is actually OK,
338  // as the checkParameterSet method checks that strategy settings
339  // parameter sets which are added have the proper type.
340  // A cleaner solution would be nice, though... td, sep'14
341  return (Collection<StrategySettings>) getParameterSets(StrategySettings.SET_NAME);
342  }
final Map< String, ? extends Collection<? extends ConfigGroup > > getParameterSets()
Here is the call graph for this function:

◆ checkConsistency()

void org.matsim.core.config.groups.StrategyConfigGroup.checkConsistency ( Config  config)
protected

Definition at line 345 of file StrategyConfigGroup.java.

345  {
346  // to make available to tests
347  super.checkConsistency(config);
348  }

◆ setMaxAgentPlanMemorySize()

void org.matsim.core.config.groups.StrategyConfigGroup.setMaxAgentPlanMemorySize ( int  maxAgentPlanMemorySize)

◆ getMaxAgentPlanMemorySize()

int org.matsim.core.config.groups.StrategyConfigGroup.getMaxAgentPlanMemorySize ( )

◆ setExternalExeConfigTemplate()

void org.matsim.core.config.groups.StrategyConfigGroup.setExternalExeConfigTemplate ( String  externalExeConfigTemplate)

◆ getExternalExeConfigTemplate()

String org.matsim.core.config.groups.StrategyConfigGroup.getExternalExeConfigTemplate ( )

◆ setExternalExeTmpFileRootDir()

void org.matsim.core.config.groups.StrategyConfigGroup.setExternalExeTmpFileRootDir ( String  externalExeTmpFileRootDir)

◆ getExternalExeTmpFileRootDir()

String org.matsim.core.config.groups.StrategyConfigGroup.getExternalExeTmpFileRootDir ( )

◆ setExternalExeTimeOut()

void org.matsim.core.config.groups.StrategyConfigGroup.setExternalExeTimeOut ( long  externalExeTimeOut)

◆ getExternalExeTimeOut()

long org.matsim.core.config.groups.StrategyConfigGroup.getExternalExeTimeOut ( )

◆ getPlanSelectorForRemoval()

String org.matsim.core.config.groups.StrategyConfigGroup.getPlanSelectorForRemoval ( )

◆ setPlanSelectorForRemoval()

void org.matsim.core.config.groups.StrategyConfigGroup.setPlanSelectorForRemoval ( String  planSelectorForRemoval)

Definition at line 386 of file StrategyConfigGroup.java.

References org.matsim.core.config.groups.StrategyConfigGroup.delegate, and org.matsim.core.config.groups.StrategyConfigGroup.ReflectiveDelegate.setPlanSelectorForRemoval().

386  {
387  switch ( planSelectorForRemoval ) {
388  case "SelectExpBeta" :
389  throw new RuntimeException("'SelectExpBeta' was replaced by 'SelectExpBetaForRemoval' in the plans removal setting" ) ;
390  case "ChangeExpBeta" :
391  throw new RuntimeException("'ChangeExpBeta' was replaced by 'ChangeExpBetaForRemoval' in the plans removal setting" ) ;
392  case "PathSizeLogitSelector" :
393  throw new RuntimeException("'PathSizeLogitSelector' was replaced by 'PathSizeLogitSelectorForRemoval' in the plans removal setting" ) ;
394  default:
395  delegate.setPlanSelectorForRemoval(planSelectorForRemoval) ;
396  }
397  }
Here is the call graph for this function:

◆ getFractionOfIterationsToDisableInnovation()

double org.matsim.core.config.groups.StrategyConfigGroup.getFractionOfIterationsToDisableInnovation ( )

◆ setFractionOfIterationsToDisableInnovation()

void org.matsim.core.config.groups.StrategyConfigGroup.setFractionOfIterationsToDisableInnovation ( double  fraction)

◆ getParams()

final Map<String, String> org.matsim.core.config.groups.StrategyConfigGroup.getParams ( )

Definition at line 408 of file StrategyConfigGroup.java.

References org.matsim.core.config.groups.StrategyConfigGroup.delegate, and org.matsim.core.config.ReflectiveConfigGroup.getParams().

408  {
409  return delegate.getParams();
410  }
Here is the call graph for this function:

◆ addParameterToMap()

void org.matsim.core.config.ConfigGroup.addParameterToMap ( final Map< String, String >  map,
final String  paramName 
)
protectedinherited

Little helper for subclasses (i.e. the ConfigGroups). This method adds the value of the parameter to the given map only if the getValue() method of this Module doesn't return null (Java null-type) or the String representation of null, i.e. "null" or "NULL". If the value is null, the string "null" is added to the map to document the parameter.

Parameters
map
paramName

Definition at line 81 of file ConfigGroup.java.

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

Referenced by org.matsim.core.config.ReflectiveConfigGroup.getParams().

81  {
82  String value = this.getValue(paramName);
83  if (!((value == null) || value.equalsIgnoreCase("null"))) {
84  map.put(paramName, value);
85  } else {
86  map.put(paramName, "null");
87  }
88  }
String getValue(final String paramName)
Here is the call graph for this function:

◆ getName()

final String org.matsim.core.config.ConfigGroup.getName ( )
inherited

◆ toString()

final String org.matsim.core.config.ConfigGroup.toString ( )
inherited

Definition at line 128 of file ConfigGroup.java.

References org.matsim.core.config.ConfigGroup.getName(), and org.matsim.core.config.ConfigGroup.getParams().

Referenced by org.matsim.core.config.ConfigGroup.addParam(), org.matsim.core.config.groups.SubtourModeChoiceConfigGroup.getChainBaseModesString(), org.matsim.core.config.groups.ChangeModeConfigGroup.getModesString(), org.matsim.core.config.groups.SubtourModeChoiceConfigGroup.getModesString(), org.matsim.core.config.ReflectiveConfigGroup.getParamField(), org.matsim.core.config.groups.PlansCalcRouteConfigGroup.getParams(), and org.matsim.core.config.ReflectiveConfigGroup.invokeGetter().

128  {
129  StringBuilder str = new StringBuilder();
130  for ( Entry<String, String> entry : this.getParams().entrySet() ) {
131  str.append('[');
132  str.append(entry.getKey());
133  str.append('=');
134  str.append(entry.getValue());
135  str.append(']');
136  }
137  return "[name=" + this.getName() + "]" +
138  "[nOfParams=" + this.getParams().size() + "]" + str.toString();
139  }
Map< String, String > getParams()
Here is the call graph for this function:

◆ addParameterSet()

void org.matsim.core.config.ConfigGroup.addParameterSet ( final ConfigGroup  set)
inherited

Definition at line 166 of file ConfigGroup.java.

References org.matsim.core.config.ConfigGroup.checkParameterSet(), and org.matsim.core.config.ConfigGroup.getName().

Referenced by org.matsim.core.config.groups.PlansCalcRouteConfigGroup.addParameterSet(), org.matsim.core.config.groups.StrategyConfigGroup.addStrategySettings(), org.matsim.core.config.groups.PlansCalcRouteConfigGroup.addTeleportedModeParams(), org.matsim.core.config.Config.copyTo(), org.matsim.core.config.groups.PlanCalcScoreConfigGroup.ScoringParameterSet.getOrCreateModeParams(), org.matsim.core.config.groups.PlansCalcRouteConfigGroup.getOrCreateModeRoutingParams(), org.matsim.core.config.groups.PlansCalcRouteConfigGroup.PlansCalcRouteConfigGroup(), org.matsim.core.config.groups.PlansCalcRouteConfigGroup.setTeleportedModeFreespeedFactor(), and org.matsim.core.config.groups.PlansCalcRouteConfigGroup.setTeleportedModeSpeed().

166  {
167  checkParameterSet( set );
168  Collection<ConfigGroup> parameterSets = parameterSetsPerType.get( set.getName() );
169 
170  if ( parameterSets == null ) {
171  parameterSets = new ArrayList<>();
172  parameterSetsPerType.put( set.getName() , parameterSets );
173  }
174 
175  parameterSets.add( set );
176  }
void checkParameterSet(final ConfigGroup set)
final Map< String, Collection< @Valid ConfigGroup > > parameterSetsPerType
Here is the call graph for this function:

◆ removeParameterSet()

boolean org.matsim.core.config.ConfigGroup.removeParameterSet ( final ConfigGroup  set)
inherited

◆ clearParameterSetsForType()

final Collection<? extends ConfigGroup> org.matsim.core.config.ConfigGroup.clearParameterSetsForType ( final String  type)
protectedinherited

Useful for instance if default values are provided but should be cleared if user provides values.

Definition at line 200 of file ConfigGroup.java.

Referenced by org.matsim.core.config.groups.PlansCalcRouteConfigGroup.addParameterSet(), org.matsim.core.config.groups.PlansCalcRouteConfigGroup.clearModeRoutingParams(), and org.matsim.core.config.groups.StrategyConfigGroup.clearStrategySettings().

200  {
201  return parameterSetsPerType.remove( type );
202  }
final Map< String, Collection< @Valid ConfigGroup > > parameterSetsPerType

◆ getParameterSets() [1/2]

final Collection<? extends ConfigGroup> org.matsim.core.config.ConfigGroup.getParameterSets ( final String  type)
inherited

Definition at line 204 of file ConfigGroup.java.

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

204  {
205  final Collection<ConfigGroup> sets = parameterSetsPerType.get( type );
206  return sets == null ?
207  Collections.<ConfigGroup>emptySet() :
208  Collections.unmodifiableCollection( sets );
209  }
final Map< String, Collection< @Valid ConfigGroup > > parameterSetsPerType

◆ getParameterSets() [2/2]

final Map<String, ? extends Collection<? extends ConfigGroup> > org.matsim.core.config.ConfigGroup.getParameterSets ( )
inherited

Definition at line 211 of file ConfigGroup.java.

Referenced by org.matsim.core.config.ConfigGroup.checkConsistency(), org.matsim.core.config.groups.PlanCalcScoreConfigGroup.ScoringParameterSet.getActivityParams(), org.matsim.core.replanning.annealing.ReplanningAnnealerConfigGroup.getAnnealingVariables(), org.matsim.core.config.groups.PlansCalcRouteConfigGroup.getModeRoutingParams(), org.matsim.core.config.groups.PlanCalcScoreConfigGroup.ScoringParameterSet.getModes(), org.matsim.core.config.groups.PlanCalcScoreConfigGroup.getScoringParametersPerSubpopulation(), org.matsim.core.config.groups.StrategyConfigGroup.getStrategySettings(), org.matsim.core.config.groups.TimeAllocationMutatorConfigGroup.getTimeAllocationMutatorSubpopulationSettings(), and org.matsim.core.config.groups.PlansCalcRouteConfigGroup.removeModeRoutingParams().

211  {
212  // TODO: immutabilize (including lists)
213  // maybe done with what I did below? kai, sep'16
214 
215  // return parameterSetsPerType;
216 
217  Map<String, Collection<ConfigGroup>> parameterSetsPerType2 = new TreeMap<>() ;
218  for ( Entry<String, Collection<ConfigGroup>> entry : parameterSetsPerType.entrySet() ) {
219  parameterSetsPerType2.put( entry.getKey(), Collections.unmodifiableCollection(entry.getValue()) ) ;
220  }
221  return Collections.unmodifiableMap( parameterSetsPerType2 ) ;
222  }
final Map< String, Collection< @Valid ConfigGroup > > parameterSetsPerType

◆ isLocked()

final boolean org.matsim.core.config.ConfigGroup.isLocked ( )
inherited

◆ setLocked()

void org.matsim.core.config.ConfigGroup.setLocked ( )
inherited

Definition at line 228 of file ConfigGroup.java.

Referenced by org.matsim.core.controler.Controler.Controler(), org.matsim.core.config.groups.PlansCalcRouteConfigGroup.getOrCreateModeRoutingParams(), org.matsim.core.config.groups.PlanCalcScoreConfigGroup.setLocked(), and org.matsim.pt.router.TransitRouterConfig.TransitRouterConfig().

228  {
229  // need to have this non-final to be able to override in order to set delegates. kai, jun'15
230  this.locked = true ;
231  for ( Collection<ConfigGroup> parameterSets : this.parameterSetsPerType.values() ) {
232  for ( ConfigGroup parameterSet : parameterSets ) {
233  parameterSet.setLocked();
234  }
235  }
236  }
final Map< String, Collection< @Valid ConfigGroup > > parameterSetsPerType

◆ testForLocked()

final void org.matsim.core.config.ConfigGroup.testForLocked ( )
inherited

Definition at line 238 of file ConfigGroup.java.

Referenced by org.matsim.core.config.groups.PlanCalcScoreConfigGroup.addParam(), org.matsim.core.config.groups.PlansCalcRouteConfigGroup.addTeleportedModeParams(), org.matsim.core.config.groups.PlansCalcRouteConfigGroup.removeModeRoutingParams(), org.matsim.core.config.groups.VspExperimentalConfigGroup.setAbleToOverwritePtInteractionParams(), org.matsim.core.config.groups.PlanCalcScoreConfigGroup.ActivityParams.setActivityType(), org.matsim.pt.config.TransitRouterConfigGroup.setAdditionalTransferTime(), org.matsim.core.config.groups.PlansCalcRouteConfigGroup.TeleportedModeParams.setBeelineDistanceFactor(), org.matsim.core.config.groups.PlansCalcRouteConfigGroup.setBeelineDistanceFactor(), org.matsim.core.config.groups.PlanCalcScoreConfigGroup.ReflectiveDelegate.setBrainExpBeta(), org.matsim.core.config.groups.PlanCalcScoreConfigGroup.ActivityParams.setClosingTime(), org.matsim.core.config.groups.PlanCalcScoreConfigGroup.ModeParams.setConstant(), org.matsim.core.config.groups.PlanCalcScoreConfigGroup.ActivityParams.setEarliestEndTime(), org.matsim.core.config.groups.PlanCalcScoreConfigGroup.ScoringParameterSet.setEarlyDeparture_utils_hr(), org.matsim.pt.config.TransitRouterConfigGroup.setExtensionRadius(), org.matsim.core.config.groups.PlanCalcScoreConfigGroup.ReflectiveDelegate.setFractionOfIterationsToStartScoreMSA(), org.matsim.core.config.groups.VspExperimentalConfigGroup.setGeneratingBoardingDeniedEvent(), org.matsim.core.config.groups.NetworkConfigGroup.setInputFile(), org.matsim.core.config.groups.PlanCalcScoreConfigGroup.ScoringParameterSet.setLateArrival_utils_hr(), org.matsim.core.config.groups.PlanCalcScoreConfigGroup.ActivityParams.setLatestStartTime(), org.matsim.core.config.groups.PlanCalcScoreConfigGroup.ReflectiveDelegate.setLearningRate(), org.matsim.core.config.groups.VspExperimentalConfigGroup.setLogitScaleParamForPlansRemoval(), org.matsim.core.config.groups.PlanCalcScoreConfigGroup.ModeParams.setMarginalUtilityOfDistance(), org.matsim.core.config.groups.PlanCalcScoreConfigGroup.ScoringParameterSet.setMarginalUtilityOfMoney(), org.matsim.core.config.groups.PlanCalcScoreConfigGroup.ModeParams.setMarginalUtilityOfTraveling(), org.matsim.core.config.groups.PlanCalcScoreConfigGroup.ScoringParameterSet.setMarginalUtlOfWaiting_utils_hr(), org.matsim.pt.config.TransitRouterConfigGroup.setMaxBeelineWalkConnectionDistance(), org.matsim.core.config.groups.PlanCalcScoreConfigGroup.ActivityParams.setMinimalDuration(), org.matsim.core.config.groups.PlansCalcRouteConfigGroup.TeleportedModeParams.setMode(), org.matsim.core.config.groups.PlanCalcScoreConfigGroup.ModeParams.setMode(), org.matsim.core.config.groups.PlanCalcScoreConfigGroup.ModeParams.setMonetaryDistanceRate(), org.matsim.core.config.groups.PlanCalcScoreConfigGroup.ActivityParams.setOpeningTime(), org.matsim.core.config.groups.PlanCalcScoreConfigGroup.ReflectiveDelegate.setPathSizeLogitBeta(), org.matsim.core.config.groups.PlanCalcScoreConfigGroup.ActivityParams.setPriority(), org.matsim.core.config.groups.PlanCalcScoreConfigGroup.ActivityParams.setScoringThisActivityAtAll(), org.matsim.pt.config.TransitRouterConfigGroup.setSearchRadius(), org.matsim.core.config.groups.PlansCalcRouteConfigGroup.TeleportedModeParams.setTeleportedModeFreespeedFactor(), org.matsim.core.config.groups.PlansCalcRouteConfigGroup.setTeleportedModeFreespeedFactor(), org.matsim.core.config.groups.PlansCalcRouteConfigGroup.TeleportedModeParams.setTeleportedModeSpeed(), org.matsim.core.config.groups.PlansCalcRouteConfigGroup.setTeleportedModeSpeed(), org.matsim.core.config.groups.NetworkConfigGroup.setTimeVariantNetwork(), org.matsim.pt.config.TransitConfigGroup.setTransitScheduleFile(), org.matsim.core.config.groups.PlanCalcScoreConfigGroup.ActivityParams.setTypicalDuration(), org.matsim.core.config.groups.PlanCalcScoreConfigGroup.ActivityParams.setTypicalDurationScoreComputation(), org.matsim.pt.config.TransitConfigGroup.setUseTransit(), org.matsim.core.config.groups.PlanCalcScoreConfigGroup.ReflectiveDelegate.setUsingOldScoringBelowZeroUtilityDuration(), org.matsim.core.config.groups.VspExperimentalConfigGroup.setUsingOpportunityCostOfTimeForLocationChoice(), org.matsim.core.config.groups.PlanCalcScoreConfigGroup.ScoringParameterSet.setUtilityOfLineSwitch(), org.matsim.core.config.groups.QSimConfigGroup.setVehiclesSource(), org.matsim.core.config.groups.VspExperimentalConfigGroup.setVspDefaultsCheckingLevel(), org.matsim.core.config.groups.PlanCalcScoreConfigGroup.ReflectiveDelegate.setWriteExperiencedPlans(), and org.matsim.core.config.groups.VspExperimentalConfigGroup.setWritingOutputEvents().

238  {
239  if ( locked ) {
240  throw new RuntimeException( "Too late to change this ...") ;
241  }
242  }

◆ getInputFileURL()

static URL org.matsim.core.config.ConfigGroup.getInputFileURL ( URL  context,
String  filename 
)
staticinherited

Definition at line 244 of file ConfigGroup.java.

References org.matsim.core.utils.io.IOUtils.extendUrl(), and org.matsim.core.utils.io.IOUtils.getFileUrl().

Referenced by org.matsim.core.config.groups.NetworkConfigGroup.getChangeEventsInputFileUrl(), org.matsim.core.config.groups.CountsConfigGroup.getCountsFileURL(), org.matsim.core.config.groups.HouseholdsConfigGroup.getInputFileURL(), org.matsim.core.config.groups.NetworkConfigGroup.getInputFileURL(), org.matsim.core.config.groups.FacilitiesConfigGroup.getInputFileURL(), org.matsim.core.config.groups.PlansConfigGroup.getInputFileURL(), org.matsim.core.config.groups.PlansConfigGroup.getInputPersonAttributeFileURL(), org.matsim.pt.config.TransitConfigGroup.getTransitScheduleFileURL(), org.matsim.pt.config.TransitConfigGroup.getTransitStopsAttributesFileURL(), and org.matsim.pt.config.TransitConfigGroup.getVehiclesFileURL().

244  {
245  if (filename.startsWith("~/")) {
246  filename = System.getProperty("user.home") + filename.substring(1);
247  return IOUtils.getFileUrl(filename) ;
248  }
249  if ( filename.startsWith("/") ) {
250  // (= filename is absolute)
251  // (yyyy this may possibly fail on win systems. kai, sep.18)
252 
253  // Absolute filename on Windows, when obtained through URL.toURI().getPath() starts with `/`, like on Unix.
254  return IOUtils.getFileUrl(filename) ;
255  }
256  return IOUtils.extendUrl(context, filename);
257  }
Here is the call graph for this function:

Member Data Documentation

◆ GROUP_NAME

final String org.matsim.core.config.groups.StrategyConfigGroup.GROUP_NAME = "strategy"
static

◆ MODULE

final String org.matsim.core.config.groups.StrategyConfigGroup.MODULE = "Module_"
staticprivate

◆ MODULE_PROBABILITY

final String org.matsim.core.config.groups.StrategyConfigGroup.MODULE_PROBABILITY = "ModuleProbability_"
staticprivate

◆ MODULE_DISABLE_AFTER_ITERATION

final String org.matsim.core.config.groups.StrategyConfigGroup.MODULE_DISABLE_AFTER_ITERATION = "ModuleDisableAfterIteration_"
staticprivate

◆ MODULE_EXE_PATH

final String org.matsim.core.config.groups.StrategyConfigGroup.MODULE_EXE_PATH = "ModuleExePath_"
staticprivate

◆ MODULE_SUBPOPULATION

final String org.matsim.core.config.groups.StrategyConfigGroup.MODULE_SUBPOPULATION = "ModuleSubpopulation_"
staticprivate

◆ delegate

final ReflectiveDelegate org.matsim.core.config.groups.StrategyConfigGroup.delegate = new ReflectiveDelegate()
private

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