package com.revolsys.record.io.format.html;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.nio.charset.Charset;
import com.revolsys.io.AbstractIoFactoryWithCoordinateSystem;
import com.revolsys.io.FileUtil;
import com.revolsys.io.map.MapWriter;
import com.revolsys.io.map.MapWriterFactory;
import com.revolsys.record.io.RecordWriter;
import com.revolsys.record.io.RecordWriterFactory;
import com.revolsys.record.io.format.xml.XmlWriter;
import com.revolsys.record.schema.RecordDefinition;
import com.revolsys.util.HtmlAttr;
public class Html extends AbstractIoFactoryWithCoordinateSystem
implements MapWriterFactory, RecordWriterFactory {
public static void href(final XmlWriter out, final String url) {
out.attribute(HtmlAttr.HREF, url);
}
public Html() {
super("XHMTL");
addMediaTypeAndFileExtension("text/html", "html");
addMediaTypeAndFileExtension("application/xhtml+xml", "xhtml");
addMediaTypeAndFileExtension("application/xhtml+xml", "html");
}
@Override
public boolean isReadFromZipFileSupported() {
return true;
}
@Override
public MapWriter newMapWriter(final Writer out) {
return new XhtmlMapWriter(out);
}
@Override
public RecordWriter newRecordWriter(final String baseName,
final RecordDefinition recordDefinition, final OutputStream outputStream,
final Charset charset) {
final OutputStreamWriter writer = FileUtil.newUtf8Writer(outputStream);
return new XhtmlRecordWriter(recordDefinition, writer);
}
}