@Override protected JsonFactory createInnerFactory() { return new JavaPropsFactory(); } }
@Override public JavaPropsFactory copy() { _checkInvalidCopy(JavaPropsFactory.class); return new JavaPropsFactory(this, null); }
@Override public JsonParser createParser(URL url) throws IOException { IOContext ctxt = _createContext(url, true); return _createParser(_decorate(_optimizedStreamFromURL(url), ctxt), ctxt); }
@Override public JsonParser createParser(InputStream in) throws IOException { IOContext ctxt = _createContext(in, false); return _createParser(_decorate(in, ctxt), ctxt); }
/** * Method for constructing {@link JsonGenerator} for generating * CBOR-encoded output. *<p> * Since CBOR format always uses UTF-8 internally, no encoding need * to be passed to this method. */ @Override public JsonGenerator createGenerator(OutputStream out) throws IOException { IOContext ctxt = _createContext(out, false); return _createJavaPropsGenerator(ctxt, _generatorFeatures, _objectCodec, _decorate(out, ctxt)); }
@Override protected JsonParser _createParser(ObjectReadContext readCtxt, IOContext ioCtxt, InputStream in) throws IOException { Properties props = _loadProperties(in, ioCtxt); return new JavaPropsParser(readCtxt, ioCtxt, readCtxt.getStreamReadFeatures(_streamReadFeatures), _getSchema(readCtxt), in, props); }
@Override public JsonParser createParser(byte[] data) throws IOException { IOContext ctxt = _createContext(data, true); if (_inputDecorator != null) { InputStream in = _inputDecorator.decorate(ctxt, data, 0, data.length); if (in != null) { return _createParser(in, ctxt); } } return _createParser(data, 0, data.length, ctxt); }
/** * Convenience method to allow feeding a pre-parsed {@link Properties} * instance as input. */ public JavaPropsParser createParser(ObjectReadContext readCtxt, Properties props) { return new JavaPropsParser(readCtxt, _createContext(props, true), readCtxt.getStreamReadFeatures(_streamReadFeatures), _getSchema(readCtxt), props, props); }
@Override protected JsonGenerator _createUTF8Generator(ObjectWriteContext writeCtxt, IOContext ioCtxt, OutputStream out) throws IOException { return new WriterBackedGenerator(writeCtxt, ioCtxt, writeCtxt.getStreamWriteFeatures(_streamWriteFeatures), _getSchema(writeCtxt), _createWriter(ioCtxt, out, null)); }
@Override protected JsonParser _createParser(char[] data, int offset, int len, IOContext ctxt, boolean recyclable) throws IOException { return _createParser(new CharArrayReader(data, offset, len), ctxt); }
protected Properties _loadProperties(InputStream in, IOContext ctxt) throws IOException { // NOTE: Properties default to ISO-8859-1 (aka Latin-1), NOT UTF-8; this // as per JDK documentation return _loadProperties(new Latin1Reader(ctxt, in), ctxt); }
/** * Convenience method to allow using a pre-constructed {@link Properties} * instance as output target, so that serialized property values * are added. * * @since 2.9 */ public JavaPropsGenerator createGenerator(Properties props) { IOContext ctxt = _createContext(props, true); return new PropertiesBackedGenerator(ctxt, props, _generatorFeatures, _objectCodec); }
@Override protected JsonGenerator _createUTF8Generator(OutputStream out, IOContext ctxt) throws IOException { return _createJavaPropsGenerator(ctxt, _generatorFeatures, _objectCodec, out); }
private final JsonGenerator _createJavaPropsGenerator(IOContext ctxt, int stdFeat, ObjectCodec codec, OutputStream out) throws IOException { return new WriterBackedGenerator(ctxt, _createWriter(out, null, ctxt), stdFeat, _objectCodec); }
@Override protected JsonGenerator _createGenerator(ObjectWriteContext writeCtxt, IOContext ioCtxt, Writer out) throws IOException { return new WriterBackedGenerator(writeCtxt, ioCtxt, writeCtxt.getStreamWriteFeatures(_streamWriteFeatures), _getSchema(writeCtxt), out); }
@Override public JsonParser createParser(File f) throws IOException { IOContext ctxt = _createContext(f, true); return _createParser(_decorate(new FileInputStream(f), ctxt), ctxt); }
@Override public JsonGenerator createGenerator(OutputStream out, JsonEncoding enc) throws IOException { IOContext ctxt = _createContext(out, false); ctxt.setEncoding(enc); return _createJavaPropsGenerator(ctxt, _generatorFeatures, _objectCodec, _decorate(out, ctxt)); }
@Override protected JsonParser _createParser(ObjectReadContext readCtxt, IOContext ioCtxt, Reader r) throws IOException { Properties props = _loadProperties(r, ioCtxt); return new JavaPropsParser(readCtxt, ioCtxt, readCtxt.getStreamReadFeatures(_streamReadFeatures), _getSchema(readCtxt), r, props); }
@Override public JsonParser createParser(byte[] data, int offset, int len) throws IOException { IOContext ctxt = _createContext(data, true); if (_inputDecorator != null) { InputStream in = _inputDecorator.decorate(ctxt, data, offset, len); if (in != null) { return _createParser(in, ctxt); } } return _createParser(data, offset, len, ctxt); }
/** * Convenience method to allow using a pre-constructed {@link Properties} * instance as output target, so that serialized property values * are added. */ public JavaPropsGenerator createGenerator(ObjectWriteContext writeCtxt, Properties props) { return new PropertiesBackedGenerator(writeCtxt, _createContext(props, true), writeCtxt.getStreamWriteFeatures(_streamWriteFeatures), _getSchema(writeCtxt), props); }