package org.opentrafficsim.road.gtu.strategical; import java.io.Serializable; import org.opentrafficsim.core.gtu.behavioralcharacteristics.BehavioralCharacteristics; import org.opentrafficsim.road.gtu.lane.LaneBasedGTU; import nl.tudelft.simulation.language.Throw; /** *

* Copyright (c) 2013-2016 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
* BSD-style license. See OpenTrafficSim License. *

* $LastChangedDate: 2015-07-24 02:58:59 +0200 (Fri, 24 Jul 2015) $, @version $Revision: 1147 $, by $Author: averbraeck $, * initial version Nov 26, 2015
* @author Alexander Verbraeck * @author Peter Knoppers */ public abstract class AbstractLaneBasedStrategicalPlanner implements LaneBasedStrategicalPlanner, Serializable { /** */ private static final long serialVersionUID = 20151126L; /** GTU. */ private final LaneBasedGTU gtu; /** The personal driving characteristics, which contain settings for the tactical planner. */ private BehavioralCharacteristics behavioralCharacteristics; /** * @param behavioralCharacteristics the personal driving characteristics, which contain settings for the tactical planner * @param gtu GTU */ public AbstractLaneBasedStrategicalPlanner(final BehavioralCharacteristics behavioralCharacteristics, final LaneBasedGTU gtu) { Throw.whenNull(behavioralCharacteristics, "Behavioral characteristics may not be null."); Throw.whenNull(gtu, "GTU may not be null."); this.behavioralCharacteristics = behavioralCharacteristics; this.gtu = gtu; } /** {@inheritDoc} */ @Override public final BehavioralCharacteristics getBehavioralCharacteristics() { return this.behavioralCharacteristics; } /** {@inheritDoc} */ @Override public final void setBehavioralCharacteristics(final BehavioralCharacteristics behavioralCharacteristics) { this.behavioralCharacteristics = behavioralCharacteristics; } /** {@inheritDoc} */ @Override public final LaneBasedGTU getGtu() { return this.gtu; } }