/** * Overridden just to prevent trying to optimize access via char array; * while nice idea, problem is that we don't have proper hooks to ensure * that temporary buffer gets recycled; so let's just use StringReader. */ @Override public JsonParser createParser(ObjectReadContext readCtxt, String content) throws IOException { Reader r = new StringReader(content); IOContext ioCtxt = _createContext(r, true); return _createParser(readCtxt, ioCtxt, _decorate(ioCtxt, r)); }
/** * Overridden just to prevent trying to optimize access via char array; * while nice idea, problem is that we don't have proper hooks to ensure * that temporary buffer gets recycled; so let's just use StringReader. */ @SuppressWarnings("resource") @Override public JsonParser createParser(String content) throws IOException { Reader r = new StringReader(content); IOContext ctxt = _createContext(r, true); if (_inputDecorator != null) { r = _inputDecorator.decorate(ctxt, r); } return _createParser(r, ctxt); }
@Override public ToXmlGenerator createGenerator(Writer out) throws IOException { return new ToXmlGenerator(_createContext(out, false), _generatorFeatures, _xmlGeneratorFeatures, _objectCodec, _createXmlWriter(out)); }
@SuppressWarnings("resource") @Override public ToXmlGenerator createGenerator(File f, JsonEncoding enc) throws IOException { OutputStream out = new FileOutputStream(f); // true -> yes, we have to manage the stream since we created it IOContext ctxt = _createContext(out, true); ctxt.setEncoding(enc); return new ToXmlGenerator(ctxt, _generatorFeatures, _xmlGeneratorFeatures, _objectCodec, _createXmlWriter(out)); }
@Override public ToXmlGenerator 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 new ToXmlGenerator(ctxt, _generatorFeatures, _xmlGeneratorFeatures, _objectCodec, _createXmlWriter(out)); }
/** * Factory method that wraps given {@link XMLStreamWriter}, usually to allow * incremental serialization to compose large output by serializing a sequence * of individual objects. * * @since 2.4 */ public ToXmlGenerator createGenerator(XMLStreamWriter sw) throws IOException { try { sw = _initializeXmlWriter(sw); } catch (XMLStreamException e) { return StaxUtil.throwXmlAsIOException(e); } IOContext ctxt = _createContext(sw, false); return new ToXmlGenerator(ctxt, _generatorFeatures, _xmlGeneratorFeatures, _objectCodec, sw); }
/** * Factory method that wraps given {@link XMLStreamReader}, usually to allow * partial data-binding. * * @since 2.4 */ public FromXmlParser createParser(XMLStreamReader sr) throws IOException { // note: should NOT move parser if already pointing to START_ELEMENT if (sr.getEventType() != XMLStreamConstants.START_ELEMENT) { try { sr = _initializeXmlReader(sr); } catch (XMLStreamException e) { return StaxUtil.throwXmlAsIOException(e); } } // false -> not managed FromXmlParser xp = new FromXmlParser(_createContext(sr, false), _generatorFeatures, _xmlGeneratorFeatures, _objectCodec, sr); if (_cfgNameForTextElement != null) { xp.setXMLTextElementName(_cfgNameForTextElement); } return xp; }
/** * Factory method that wraps given {@link XMLStreamReader}, usually to allow * partial data-binding. */ public FromXmlParser createParser(ObjectReadContext readCtxt, XMLStreamReader sr) throws IOException { // note: should NOT move parser if already pointing to START_ELEMENT if (sr.getEventType() != XMLStreamConstants.START_ELEMENT) { sr = _initializeXmlReader(sr); } // false -> not managed FromXmlParser xp = new FromXmlParser(readCtxt, _createContext(sr, false), readCtxt.getStreamReadFeatures(_streamReadFeatures), readCtxt.getFormatReadFeatures(_formatReadFeatures), sr); if (_cfgNameForTextElement != null) { xp.setXMLTextElementName(_cfgNameForTextElement); } return xp; }
/** * Factory method that wraps given {@link XMLStreamWriter}, usually to allow * incremental serialization to compose large output by serializing a sequence * of individual objects. */ public ToXmlGenerator createGenerator(ObjectWriteContext writeCtxt, XMLStreamWriter sw) throws IOException { sw = _initializeXmlWriter(sw); IOContext ioCtxt = _createContext(sw, false); return new ToXmlGenerator(writeCtxt, ioCtxt, writeCtxt.getStreamWriteFeatures(_streamWriteFeatures), writeCtxt.getFormatWriteFeatures(_formatWriteFeatures), sw, _xmlPrettyPrinter(writeCtxt)); }