Interface ModelComponentFactory
-
- All Known Subinterfaces:
CarFollowingModelFactory<T>
,LaneBasedTacticalPlannerFactory<T>
,PerceptionFactory
- All Known Implementing Classes:
AbstractIDMFactory
,AbstractLaneBasedTacticalPlannerFactory
,DefaultLMRSPerceptionFactory
,IDMFactory
,IDMPlusFactory
,IDMPlusMultiFactory
,LaneBasedCFLCTacticalPlannerFactory
,LaneBasedGTUFollowingDirectedChangeTacticalPlannerFactory
,LaneBasedGTUFollowingTacticalPlannerFactory
,LMRSFactory
,ToledoFactory
public interface ModelComponentFactory
Interface for factories of model components, such as strategical planners, tactical planners and car-following models.Copyright (c) 2013-2020 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See OpenTrafficSim License.- Version:
- $Revision$, $LastChangedDate$, by $Author$, initial version 11 dec. 2017
- Author:
- Alexander Verbraeck, Peter Knoppers, Wouter Schakel
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Parameters
getParameters()
Returns parameters for the given component.
-
-
-
Method Detail
-
getParameters
Parameters getParameters() throws ParameterException
Returns parameters for the given component. These parameters should contain, and possibly overwrite, parameters from sub-components. A parameter factory at the highest level (strategical planner) may overwrite any parameter. This combination allows that for sub-components, default factories can be used, while the parameter factory only overwrites parameters different for specific GTU types. The default implementation returns all default parameter values declared at the class.
Conventional use is:
Parameters parameters = this.subComponent1Factory.getParameters(); this.subComponent2Factory.getParameters().setAllIn(parameters); parameters.setDefaultParameters(componentClass); parameters.setDefaultParameters(staticUtilityClass); return parameters;
where all parameters used incomponentClass
are defined or forwarded incomponentClass
.
// forwarded public static final ParameterTypeAcceleration A = ParameterTypes.A; // defined public static final ParameterTypeDouble FACTOR = new ParameterTypeDouble("factor", "factor on response", 1.0);
The same holds for static utilities that are used. Parameters should be defined at the utility class, and parameters of used utilities should be included.
- Returns:
- Parameters; parameters for the given component
- Throws:
ParameterException
- on parameter exception
-
-