package com.revolsys.record.io.format.json; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.nio.charset.Charset; import com.revolsys.io.AbstractIoFactoryWithCoordinateSystem; import com.revolsys.io.FileUtil; import com.revolsys.record.io.RecordWriter; import com.revolsys.record.io.RecordWriterFactory; import com.revolsys.record.schema.RecordDefinition; public class JsonRecordIoFactory extends AbstractIoFactoryWithCoordinateSystem implements RecordWriterFactory { public JsonRecordIoFactory() { super("JavaScript Object Notation"); addMediaTypeAndFileExtension("application/json", "json"); } @Override public RecordWriter newRecordWriter(final String baseName, final RecordDefinition recordDefinition, final OutputStream outputStream, final Charset charset) { final OutputStreamWriter writer = FileUtil.newUtf8Writer(outputStream); return new JsonRecordWriter(recordDefinition, writer); } }