1 package org.opentrafficsim.road.gtu.lane.perception.headway;
2
3 import org.djunits.value.vdouble.scalar.Length;
4 import org.djutils.exceptions.Throw;
5 import org.opentrafficsim.core.gtu.GtuException;
6 import org.opentrafficsim.road.network.lane.object.trafficlight.TrafficLight;
7 import org.opentrafficsim.road.network.lane.object.trafficlight.TrafficLightColor;
8
9
10
11
12
13
14
15
16
17
18 public class HeadwayTrafficLight extends AbstractHeadwayLaneBasedObject
19 {
20
21 private static final long serialVersionUID = 20160410L;
22
23
24 private final TrafficLight trafficLight;
25
26
27
28
29
30
31
32
33 public HeadwayTrafficLight(final TrafficLight trafficLight, final Length distance) throws GtuException
34 {
35 super(ObjectType.TRAFFICLIGHT, id(trafficLight), distance, trafficLight.getLane());
36 this.trafficLight = trafficLight;
37 }
38
39
40
41
42
43
44
45 private static String id(final TrafficLight trafficLight) throws GtuException
46 {
47 Throw.when(trafficLight == null, GtuException.class, "Headway constructor: trafficLight == null");
48 return trafficLight.getId();
49 }
50
51
52
53
54 public final TrafficLightColor getTrafficLightColor()
55 {
56 return this.trafficLight.getTrafficLightColor();
57 }
58
59
60 @Override
61 public final String toString()
62 {
63 return "HeadwayTrafficLight [trafficLight=" + this.trafficLight + "]";
64 }
65 }