1 package org.opentrafficsim.road.network.factory;
2
3 import java.io.OutputStream;
4 import java.io.Writer;
5
6 import org.djutils.event.EventProducer;
7 import org.opentrafficsim.core.object.Detector;
8 import org.opentrafficsim.road.network.RoadNetwork;
9
10 import com.thoughtworks.xstream.XStream;
11
12 import nl.tudelft.simulation.naming.context.JvmContext;
13
14
15
16
17
18
19
20
21
22
23 public final class RoadNetworkUtils
24 {
25
26
27 private RoadNetworkUtils()
28 {
29
30 }
31
32
33
34
35
36
37 public static RoadNetwork copy(final RoadNetwork network)
38 {
39 XStream xstream = new XStream();
40 return (RoadNetwork) xstream.fromXML(toXml(network));
41 }
42
43
44
45
46
47
48 public static String toXml(final RoadNetwork network)
49 {
50 XStream xstream = new XStream();
51 xstream.omitField(RoadNetwork.class, "gtuMap");
52 xstream.omitField(EventProducer.class, "listeners");
53 xstream.omitField(JvmContext.class, "atomicName");
54 xstream.omitField(JvmContext.class, "elements");
55 xstream.omitField(Detector.class, "simulator");
56 return xstream.toXML(network);
57 }
58
59
60
61
62
63
64 public static void toXml(final RoadNetwork network, final OutputStream out)
65 {
66 XStream xstream = new XStream();
67 xstream.toXML(network, out);
68 }
69
70
71
72
73
74
75 public static void toXml(final RoadNetwork network, final Writer writer)
76 {
77 XStream xstream = new XStream();
78 xstream.toXML(network, writer);
79 }
80 }