1 package org.opentrafficsim.road.gtu.strategical;
2
3 import java.io.Serializable;
4
5 import org.opentrafficsim.core.gtu.behavioralcharacteristics.BehavioralCharacteristics;
6 import org.opentrafficsim.road.gtu.lane.LaneBasedGTU;
7
8 import nl.tudelft.simulation.language.Throw;
9
10
11
12
13
14
15
16
17
18
19
20 public abstract class AbstractLaneBasedStrategicalPlanner implements LaneBasedStrategicalPlanner, Serializable
21 {
22
23 private static final long serialVersionUID = 20151126L;
24
25
26 private final LaneBasedGTU gtu;
27
28
29 private BehavioralCharacteristics behavioralCharacteristics;
30
31
32
33
34
35 public AbstractLaneBasedStrategicalPlanner(final BehavioralCharacteristics behavioralCharacteristics,
36 final LaneBasedGTU gtu)
37 {
38 Throw.whenNull(behavioralCharacteristics, "Behavioral characteristics may not be null.");
39 Throw.whenNull(gtu, "GTU may not be null.");
40 this.behavioralCharacteristics = behavioralCharacteristics;
41 this.gtu = gtu;
42 }
43
44
45 @Override
46 public final BehavioralCharacteristics getBehavioralCharacteristics()
47 {
48 return this.behavioralCharacteristics;
49 }
50
51
52 @Override
53 public final void setBehavioralCharacteristics(final BehavioralCharacteristics behavioralCharacteristics)
54 {
55 this.behavioralCharacteristics = behavioralCharacteristics;
56 }
57
58
59 @Override
60 public final LaneBasedGTU getGtu()
61 {
62 return this.gtu;
63 }
64
65 }