1 package org.opentrafficsim.road.network.factory.opendrive;
2
3 import java.io.Serializable;
4 import java.util.ArrayList;
5 import java.util.List;
6
7 import org.opentrafficsim.core.network.NetworkException;
8 import org.w3c.dom.Node;
9 import org.w3c.dom.NodeList;
10 import org.xml.sax.SAXException;
11
12
13
14
15
16
17
18
19
20
21 class SignalsTag implements Serializable
22 {
23
24
25 private static final long serialVersionUID = 20150723L;
26
27
28 @SuppressWarnings("checkstyle:visibilitymodifier")
29 List<SignalTag> signalTags = new ArrayList<SignalTag>();
30
31
32 @SuppressWarnings("checkstyle:visibilitymodifier")
33 List<SignalReferenceTag> signalReferenceTag = new ArrayList<SignalReferenceTag>();
34
35
36
37
38
39
40
41
42
43 @SuppressWarnings("checkstyle:needbraces")
44 static void parseSignals(final NodeList nodeList, final OpenDriveNetworkLaneParser parser, final RoadTag roadTag)
45 throws SAXException, NetworkException
46 {
47 SignalsTag signalsTag = new SignalsTag();
48 for (Node node0 : XMLParser.getNodes(nodeList, "signals"))
49 {
50 for (Node node : XMLParser.getNodes(node0.getChildNodes(), "signal"))
51 {
52 SignalTag signalTag = SignalTag.parseSignal(node, parser);
53 signalsTag.signalTags.add(signalTag);
54 parser.signalTags.put(signalTag.id, signalTag);
55 }
56 for (Node node : XMLParser.getNodes(node0.getChildNodes(), "signalReference"))
57 {
58 SignalReferenceTag signalReferenceTag = SignalReferenceTag.parseSignalReference(node, parser);
59 signalsTag.signalReferenceTag.add(signalReferenceTag);
60 }
61 }
62 roadTag.signalsTag = signalsTag;
63 }
64
65
66 @Override
67 public String toString()
68 {
69 return "SignalsTag [signalTags=" + this.signalTags + ", signalReferenceTag=" + this.signalReferenceTag + "]";
70 }
71 }