1 package org.opentrafficsim.road.gtu.strategical; 2 3 import org.opentrafficsim.core.gtu.GTUException; 4 import org.opentrafficsim.core.gtu.behavioralcharacteristics.BehavioralCharacteristics; 5 import org.opentrafficsim.core.network.route.Route; 6 import org.opentrafficsim.road.gtu.lane.LaneBasedGTU; 7 8 /** 9 * A factory class is used to generate strategical planners as the strategical planner is state-full. 10 * <p> 11 * Copyright (c) 2013-2016 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved. <br> 12 * BSD-style license. See <a href="http://opentrafficsim.org/docs/current/license.html">OpenTrafficSim License</a>. 13 * <p> 14 * @version $Revision$, $LastChangedDate$, by $Author$, initial version Jul 29, 2016 <br> 15 * @author <a href="http://www.tbm.tudelft.nl/averbraeck">Alexander Verbraeck</a> 16 * @author <a href="http://www.tudelft.nl/pknoppers">Peter Knoppers</a> 17 * @author <a href="http://www.transport.citg.tudelft.nl">Wouter Schakel</a> 18 * @param <T> class of the strategical planner generated 19 */ 20 21 public interface LaneBasedStrategicalPlannerFactory<T extends LaneBasedStrategicalPlanner> 22 { 23 24 /** 25 * Creates a new strategical planner for the given GTU. The default behavioral characteristics should be used. 26 * @param gtu GTU 27 * @param route route 28 * @return strategical planner for the given GTU 29 * @throws GTUException if the gtu is not suitable in any way for the creation of the strategical planner 30 */ 31 T create(LaneBasedGTU gtu, Route route) throws GTUException; 32 33 }