@Override protected JsonParser _createParser(ObjectReadContext readCtxt, IOContext ioCtxt, InputStream in) throws IOException { return new ByteSourceJsonBootstrapper(ioCtxt, in) .constructParser(readCtxt, readCtxt.getStreamReadFeatures(_streamReadFeatures), readCtxt.getFormatReadFeatures(_formatReadFeatures), _byteSymbolCanonicalizer, _rootCharSymbols, _factoryFeatures); }
@Override protected JsonParser _createParser(ObjectReadContext readCtxt, IOContext ioCtxt, Reader r) throws IOException { return new ReaderBasedJsonParser(readCtxt, ioCtxt, readCtxt.getStreamReadFeatures(_streamReadFeatures), readCtxt.getFormatReadFeatures(_formatReadFeatures), r, _rootCharSymbols.makeChild(_factoryFeatures)); }
@Override protected JsonParser _createParser(ObjectReadContext readCtxt, IOContext ioCtxt, char[] data, int offset, int len, boolean recyclable) throws IOException { return new ReaderBasedJsonParser(readCtxt, ioCtxt, readCtxt.getStreamReadFeatures(_streamReadFeatures), readCtxt.getFormatReadFeatures(_formatReadFeatures), null, _rootCharSymbols.makeChild(_factoryFeatures), data, offset, offset+len, recyclable); }
@Override protected JsonParser _createParser(ObjectReadContext readCtxt, IOContext ioCtxt, byte[] data, int offset, int len) throws IOException { return new ByteSourceJsonBootstrapper(ioCtxt, data, offset, len) .constructParser(readCtxt, readCtxt.getStreamReadFeatures(_streamReadFeatures), readCtxt.getFormatReadFeatures(_formatReadFeatures), _byteSymbolCanonicalizer, _rootCharSymbols, _factoryFeatures); }
@Override protected JsonParser _createParser(ObjectReadContext readCtxt, IOContext ioCtxt, DataInput input) throws IOException { // Also: while we can't do full bootstrapping (due to read-ahead limitations), should // at least handle possible UTF-8 BOM int firstByte = ByteSourceJsonBootstrapper.skipUTF8BOM(input); ByteQuadsCanonicalizer can = _byteSymbolCanonicalizer.makeChild(_factoryFeatures); return new UTF8DataInputJsonParser(readCtxt, ioCtxt, readCtxt.getStreamReadFeatures(_streamReadFeatures), readCtxt.getFormatReadFeatures(_formatReadFeatures), input, can, firstByte); }
@Override public JsonParser createNonBlockingByteArrayParser(ObjectReadContext readCtxt) throws IOException { IOContext ioCtxt = _createNonBlockingContext(null); ByteQuadsCanonicalizer can = _byteSymbolCanonicalizer.makeChild(_factoryFeatures); return new NonBlockingJsonParser(readCtxt, ioCtxt, readCtxt.getStreamReadFeatures(_streamReadFeatures), readCtxt.getFormatReadFeatures(_formatReadFeatures), can); }
@Override protected CsvParser _createParser(ObjectReadContext readCtxt, IOContext ioCtxt, char[] data, int offset, int len, boolean recyclable) throws IOException { return new CsvParser(readCtxt, (CsvIOContext) ioCtxt, readCtxt.getStreamReadFeatures(_streamReadFeatures), readCtxt.getFormatReadFeatures(_formatReadFeatures), _getSchema(readCtxt), new CharArrayReader(data, offset, len)); }
/** * Overridable factory method that actually instantiates desired parser. */ @Override protected CsvParser _createParser(ObjectReadContext readCtxt, IOContext ioCtxt, Reader r) throws IOException { return new CsvParser(readCtxt, (CsvIOContext) ioCtxt, readCtxt.getStreamReadFeatures(_streamReadFeatures), readCtxt.getFormatReadFeatures(_formatReadFeatures), _getSchema(readCtxt), r); }
@Override protected JsonParser _createParser(ObjectReadContext readCtxt, IOContext ioCtxt, byte[] data, int offset, int len) throws IOException { return new SmileParserBootstrapper(ioCtxt, data, offset, len) .constructParser(readCtxt, _factoryFeatures, readCtxt.getStreamReadFeatures(_streamReadFeatures), readCtxt.getFormatReadFeatures(_formatReadFeatures), _byteSymbolCanonicalizer); }
/** * Overridable factory method that actually instantiates desired parser. */ @Override protected JsonParser _createParser(ObjectReadContext readCtxt, IOContext ioCtxt, InputStream in) throws IOException { return new SmileParserBootstrapper(ioCtxt, in) .constructParser(readCtxt, _factoryFeatures, readCtxt.getStreamReadFeatures(_streamReadFeatures), readCtxt.getFormatReadFeatures(_formatReadFeatures), _byteSymbolCanonicalizer); }
/** * Overridable factory method that actually instantiates desired parser. */ @Override protected CsvParser _createParser(ObjectReadContext readCtxt, IOContext ioCtxt, InputStream in) throws IOException { return new CsvParserBootstrapper(ioCtxt, in) .constructParser(readCtxt, readCtxt.getStreamReadFeatures(_streamReadFeatures), readCtxt.getFormatReadFeatures(_formatReadFeatures), _getSchema(readCtxt)); }
@Override protected CsvParser _createParser(ObjectReadContext readCtxt, IOContext ioCtxt, byte[] data, int offset, int len) throws IOException { return new CsvParserBootstrapper(ioCtxt, data, offset, len) .constructParser(readCtxt, readCtxt.getStreamReadFeatures(_streamReadFeatures), readCtxt.getFormatReadFeatures(_formatReadFeatures), _getSchema(readCtxt)); }
@Override public NonBlockingByteArrayParser createNonBlockingByteArrayParser(ObjectReadContext readCtxt) throws IOException { ByteQuadsCanonicalizer can = _byteSymbolCanonicalizer.makeChild(_factoryFeatures); return new NonBlockingByteArrayParser(readCtxt, _createContext(null, false), readCtxt.getStreamReadFeatures(_streamReadFeatures), readCtxt.getFormatReadFeatures(_formatReadFeatures), can); }
@Override protected FromXmlParser _createParser(ObjectReadContext readCtxt, IOContext ioCtxt, Reader r) throws IOException { XMLStreamReader sr; try { sr = _xmlInputFactory.createXMLStreamReader(r); } catch (XMLStreamException e) { return StaxUtil.throwAsParseException(e, null); } sr = _initializeXmlReader(sr); FromXmlParser xp = new FromXmlParser(readCtxt, ioCtxt, readCtxt.getStreamReadFeatures(_streamReadFeatures), readCtxt.getFormatReadFeatures(_formatReadFeatures), 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; }
@Override protected FromXmlParser _createParser(ObjectReadContext readCtxt, IOContext ioCtxt, InputStream in) throws IOException { XMLStreamReader sr; try { sr = _xmlInputFactory.createXMLStreamReader(in); } catch (XMLStreamException e) { return StaxUtil.throwAsParseException(e, null); } sr = _initializeXmlReader(sr); FromXmlParser xp = new FromXmlParser(readCtxt, ioCtxt, readCtxt.getStreamReadFeatures(_streamReadFeatures), readCtxt.getFormatReadFeatures(_formatReadFeatures), sr); if (_cfgNameForTextElement != null) { xp.setXMLTextElementName(_cfgNameForTextElement); } return xp; }
@Override protected FromXmlParser _createParser(ObjectReadContext readCtxt, IOContext ioCtxt, char[] data, int offset, int len, boolean recycleBuffer) throws IOException { // !!! TODO: add proper handling of 'recycleBuffer'; currently its handling // is always same as if 'false' was passed XMLStreamReader sr; try { sr = _xmlInputFactory.createXMLStreamReader(new Stax2CharArraySource(data, offset, len)); } catch (XMLStreamException e) { return StaxUtil.throwAsParseException(e, null); } sr = _initializeXmlReader(sr); FromXmlParser xp = new FromXmlParser(readCtxt, ioCtxt, readCtxt.getStreamReadFeatures(_streamReadFeatures), readCtxt.getFormatReadFeatures(_formatReadFeatures), sr); if (_cfgNameForTextElement != null) { xp.setXMLTextElementName(_cfgNameForTextElement); } return xp; }
@Override protected FromXmlParser _createParser(ObjectReadContext readCtxt, IOContext ioCtxt, byte[] data, int offset, int len) throws IOException { XMLStreamReader sr; try { sr = _xmlInputFactory.createXMLStreamReader(new Stax2ByteArraySource(data, offset, len)); } catch (XMLStreamException e) { return StaxUtil.throwAsParseException(e, null); } sr = _initializeXmlReader(sr); FromXmlParser xp = new FromXmlParser(readCtxt, ioCtxt, readCtxt.getStreamReadFeatures(_streamReadFeatures), readCtxt.getFormatReadFeatures(_formatReadFeatures), sr); if (_cfgNameForTextElement != null) { xp.setXMLTextElementName(_cfgNameForTextElement); } return xp; }