21 package org.matsim.core.network.io;
23 import org.apache.logging.log4j.LogManager;
24 import org.apache.logging.log4j.Logger;
35 import java.io.IOException;
36 import java.io.OutputStream;
37 import java.io.UncheckedIOException;
38 import java.util.HashMap;
61 this.converters.putAll( converters );
65 this.converters.put( clazz , converter );
69 public void write(
final String filename) {
70 log.info(
"Writing network to file: " + filename +
"...");
77 String dtd =
"http://www.matsim.org/files/dtd/network_v1.dtd";
78 NetworkWriterHandler handler =
new NetworkWriterHandlerImplV1(transformation);
83 String dtd =
"http://www.matsim.org/files/dtd/network_v1.dtd";
84 NetworkWriterHandler handler =
new NetworkWriterHandlerImplV1(transformation);
89 String dtd =
"http://www.matsim.org/files/dtd/network_v2.dtd";
90 NetworkWriterHandlerImplV2 handler =
new NetworkWriterHandlerImplV2(transformation);
92 handler.putAttributeConverters( converters );
98 String dtd =
"http://www.matsim.org/files/dtd/network_v2.dtd";
99 NetworkWriterHandlerImplV2 handler =
new NetworkWriterHandlerImplV2(transformation);
101 handler.putAttributeConverters( converters );
108 final NetworkWriterHandler handler,
109 final String filename) {
115 catch (IOException e) {
116 throw new UncheckedIOException(e);
122 final NetworkWriterHandler handler,
123 final OutputStream stream) {
129 catch (IOException e) {
130 throw new UncheckedIOException(e);
134 private void writeContent(String dtd, NetworkWriterHandler handler)
throws IOException {
138 handler.startNetwork(network, this.
writer);
139 handler.writeSeparator(this.
writer);
140 handler.startNodes(network, this.
writer);
142 handler.startNode(n, this.
writer);
143 handler.endNode(this.
writer);
145 handler.endNodes(this.
writer);
146 handler.writeSeparator(this.
writer);
147 handler.startLinks(network, this.
writer);
149 handler.startLink(l, this.
writer);
150 handler.endLink(this.
writer);
152 handler.endLinks(this.
writer);
153 handler.writeSeparator(this.
writer);
154 handler.endNetwork(this.
writer);
static Node [] getSortedNodes(final Network network)
final void writeXmlHead()
final CoordinateTransformation transformation
void write(final String filename)
void writeStream(final String dtd, final NetworkWriterHandler handler, final OutputStream stream)
void writeFileV1(final String filename)
NetworkWriter(final CoordinateTransformation transformation, final Network network)
void writeStreamV2(final OutputStream stream)
void writeFileV2(final String filename)
final void openOutputStream(OutputStream outputStream)
void writeStreamV1(final OutputStream stream)
static Link [] getSortedLinks(final Network network)
final Map< Class<?>, AttributeConverter<?> > converters
final void openFile(final String filename)
void writeContent(String dtd, NetworkWriterHandler handler)
NetworkWriter(final Network network)
void putAttributeConverter(Class<?> clazz, AttributeConverter<?> converter)
final void writeDoctype(String rootTag, String dtdUrl)
void putAttributeConverters(final Map< Class<?>, AttributeConverter<?>> converters)
void writeFile(final String dtd, final NetworkWriterHandler handler, final String filename)