/** * Overridable factory method that actually instantiates desired * generator. */ @Override protected CsvGenerator _createGenerator(Writer out, IOContext ctxt) throws IOException { return _createGenerator(ctxt, out); }
@Override protected CsvGenerator _createGenerator(Writer out, IOContext ctxt) throws IOException { return _createGenerator(ctxt, out); }
@Override protected CsvGenerator _createUTF8Generator(OutputStream out, IOContext ctxt) throws IOException { return _createGenerator(ctxt, new UTF8Writer(ctxt, out)); }
@Override public CsvGenerator createGenerator(Writer out) throws IOException { IOContext ctxt = _createContext(out, false); return _createGenerator(_decorate(out, ctxt), ctxt); }
/** * This method assumes use of UTF-8 for encoding. */ @Override public CsvGenerator createJsonGenerator(OutputStream out) throws IOException { // false -> we won't manage the stream unless explicitly directed to IOContext ctxt = _createContext(out, false); return _createGenerator(ctxt, _createWriter(out, JsonEncoding.UTF8, ctxt)); }
@Override public CsvGenerator createGenerator(File f, JsonEncoding enc) throws IOException { OutputStream out = new FileOutputStream(f); // Important: make sure that we always auto-close stream we create: IOContext ctxt = _createContext(out, false); ctxt.setEncoding(enc); return _createGenerator(ctxt, _createWriter(_decorate(out, ctxt), enc, ctxt)); }
@Override public CsvGenerator createGenerator(OutputStream out, JsonEncoding enc) throws IOException { // false -> we won't manage the stream unless explicitly directed to IOContext ctxt = _createContext(out, false); ctxt.setEncoding(enc); return _createGenerator(ctxt, _createWriter(_decorate(out, ctxt), JsonEncoding.UTF8, ctxt)); }