package org.atomnuke.atom.io.writer.stax; import javax.xml.stream.XMLOutputFactory; import org.atomnuke.atom.io.AtomWriter; import org.atomnuke.atom.io.AtomWriterFactory; import org.atomnuke.atom.io.cfg.NamespaceLevel; import org.atomnuke.atom.io.cfg.WriterConfiguration; /** * * @author zinic */ public class StaxAtomWriterFactory implements AtomWriterFactory { private static final WriterConfiguration DEFAULT_CONFIGURATION = new StaxWriterConfiguration(NamespaceLevel.NONE); private final WriterConfiguration writerConfiguration; private final XMLOutputFactory outputFactory; public StaxAtomWriterFactory() { this(DEFAULT_CONFIGURATION, XMLOutputFactory.newFactory()); } public StaxAtomWriterFactory(WriterConfiguration writerConfiguration) { this(writerConfiguration, XMLOutputFactory.newFactory()); } public StaxAtomWriterFactory(WriterConfiguration writerConfiguration, XMLOutputFactory outputFactory) { this.writerConfiguration = writerConfiguration; this.outputFactory = outputFactory; } @Override public AtomWriter getInstance() { return new StaxAtomWriter(writerConfiguration, outputFactory); } }