21 package org.matsim.core.population.io;
23 import org.apache.logging.log4j.LogManager;
24 import org.apache.logging.log4j.Logger;
39 import java.io.BufferedWriter;
40 import java.io.IOException;
41 import java.io.UncheckedIOException;
42 import java.util.HashMap;
55 BufferedWriter getWriter() {
58 void openHere(String filename ) {
59 super.openFile(filename);
74 this(coordinateTransformation , 1.0);
84 final double fraction) {
85 this.write_person_fraction = fraction;
93 final double fraction) {
98 this.attributeConverters.put(clazz, converter);
102 this.attributeConverters.putAll(converters);
125 if (matsimWriter.getWriter() != null) {
128 log.error(
"Cannot close streaming. File is not open.");
141 @Override
public String getName() {
142 return "population written from streaming" ;
144 @Override
public void setName(String name) {
147 @Override
public Map<Id<Person>, ? extends
Person> getPersons() {
150 @Override
public void addPerson(
Person p) {
164 matsimWriter.openHere(filename);
167 this.handler.
startPlans(fakepop, matsimWriter.getWriter());
169 }
catch (IOException e) {
170 throw new UncheckedIOException(e);
176 throw new RuntimeException(
"this execution path does not longer exist. See comments in code") ;
190 this.handler.
writePerson(person, matsimWriter.getWriter());
192 }
catch (IOException e) {
193 throw new UncheckedIOException(e);
199 this.handler.
endPlans(matsimWriter.getWriter());
200 }
catch (IOException e) {
201 throw new UncheckedIOException(e);
203 matsimWriter.closeHere();
static Random getRandom()
final void closeStreaming()
final double write_person_fraction
StreamingPopulationWriter()
final void writeStartPlans(final String filename)
final void startStreaming(final String filename)
void writePerson(final Person person, final BufferedWriter out)
final Map< Class<?>, AttributeConverter<?> > attributeConverters
StreamingPopulationWriter(final CoordinateTransformation coordinateTransformation, final double fraction)
void writeHeaderAndStartElement(BufferedWriter out)
default void putAttributeConverters(Map< Class<?>, AttributeConverter<?>> converters)
final void writePerson(final Person person)
StreamingPopulationWriter(final double fraction)
final void run(final Person person)
final void writeEndPlans()
void startPlans(final Population plans, final BufferedWriter out)
final void writePersons()
StreamingPopulationWriter(final CoordinateTransformation coordinateTransformation)
DummyMatsimWriter matsimWriter
void endPlans(final BufferedWriter out)
final void setWriterHandler(final PopulationWriterHandler handler)
PopulationWriterHandler handler
void writeSeparator(final BufferedWriter out)
void putAttributeConverters(final Map< Class<?>, AttributeConverter<?>> converters)