/** * Method for reading sequence of Objects from parser stream. *<p> * Note that {@link ObjectReader} has more complete set of variants. * * @since 1.8 */ @Override public <T> MappingIterator<T> readValues(JsonParser jp, JavaType valueType) throws IOException, JsonProcessingException { DeserializationConfig config = copyDeserializationConfig(); DeserializationContext ctxt = _createDeserializationContext(jp, config); JsonDeserializer<?> deser = _findRootDeserializer(config, valueType); // false -> do NOT close JsonParser (since caller passed it) return new MappingIterator<T>(valueType, jp, ctxt, deser, false, null); }
if (t == JsonToken.VALUE_NULL) { result = _findRootDeserializer(cfg, valueType).getNullValue(); } else if (t == JsonToken.END_ARRAY || t == JsonToken.END_OBJECT) { result = null; } else { // pointing to event other than null DeserializationContext ctxt = _createDeserializationContext(jp, cfg); JsonDeserializer<Object> deser = _findRootDeserializer(cfg, valueType);
result = _findRootDeserializer(this._deserializationConfig, valueType).getNullValue(); } else if (t == JsonToken.END_ARRAY || t == JsonToken.END_OBJECT) { result = null; DeserializationConfig cfg = copyDeserializationConfig(); DeserializationContext ctxt = _createDeserializationContext(jp, cfg); JsonDeserializer<Object> deser = _findRootDeserializer(cfg, valueType); if (cfg.isEnabled(DeserializationConfig.Feature.UNWRAP_ROOT_VALUE)) { result = _unwrapAndDeserialize(jp, valueType, ctxt, deser);
/** * Method for reading sequence of Objects from parser stream. *<p> * Note that {@link ObjectReader} has more complete set of variants. * * @since 1.8 */ @Override public <T> MappingIterator<T> readValues(JsonParser jp, JavaType valueType) throws IOException, JsonProcessingException { DeserializationConfig config = copyDeserializationConfig(); DeserializationContext ctxt = _createDeserializationContext(jp, config); JsonDeserializer<?> deser = _findRootDeserializer(config, valueType); // false -> do NOT close JsonParser (since caller passed it) return new MappingIterator<T>(valueType, jp, ctxt, deser, false, null); }
if (t == JsonToken.VALUE_NULL) { result = _findRootDeserializer(cfg, valueType).getNullValue(); } else if (t == JsonToken.END_ARRAY || t == JsonToken.END_OBJECT) { result = null; } else { // pointing to event other than null DeserializationContext ctxt = _createDeserializationContext(jp, cfg); JsonDeserializer<Object> deser = _findRootDeserializer(cfg, valueType);
result = _findRootDeserializer(this._deserializationConfig, valueType).getNullValue(); } else if (t == JsonToken.END_ARRAY || t == JsonToken.END_OBJECT) { result = null; DeserializationConfig cfg = copyDeserializationConfig(); DeserializationContext ctxt = _createDeserializationContext(jp, cfg); JsonDeserializer<Object> deser = _findRootDeserializer(cfg, valueType); if (cfg.isEnabled(DeserializationConfig.Feature.UNWRAP_ROOT_VALUE)) { result = _unwrapAndDeserialize(jp, valueType, ctxt, deser);
/** * Method for reading sequence of Objects from parser stream. *<p> * Note that {@link ObjectReader} has more complete set of variants, * * @since 1.8 */ public <T> MappingIterator<T> readValues(JsonParser jp, JavaType valueType) throws IOException, JsonProcessingException { DeserializationConfig config = copyDeserializationConfig(); DeserializationContext ctxt = _createDeserializationContext(jp, config); JsonDeserializer<?> deser = _findRootDeserializer(config, valueType); return new MappingIterator<T>(valueType, jp, ctxt, deser); }
/** * Method for reading sequence of Objects from parser stream. *<p> * Note that {@link ObjectReader} has more complete set of variants. * * @since 1.8 */ @Override public <T> MappingIterator<T> readValues(JsonParser jp, JavaType valueType) throws IOException, JsonProcessingException { DeserializationConfig config = copyDeserializationConfig(); DeserializationContext ctxt = _createDeserializationContext(jp, config); JsonDeserializer<?> deser = _findRootDeserializer(config, valueType); return new MappingIterator<T>(valueType, jp, ctxt, deser); }
/** * Method for reading sequence of Objects from parser stream. *<p> * Note that {@link ObjectReader} has more complete set of variants. * * @since 1.8 */ @Override public <T> MappingIterator<T> readValues(JsonParser jp, JavaType valueType) throws IOException, JsonProcessingException { DeserializationConfig config = copyDeserializationConfig(); DeserializationContext ctxt = _createDeserializationContext(jp, config); JsonDeserializer<?> deser = _findRootDeserializer(config, valueType); // false -> do NOT close JsonParser (since caller passed it) return new MappingIterator<T>(valueType, jp, ctxt, deser, false, null); }
if (t == JsonToken.VALUE_NULL) { result = _findRootDeserializer(cfg, valueType).getNullValue(); } else if (t == JsonToken.END_ARRAY || t == JsonToken.END_OBJECT) { result = null; } else { // pointing to event other than null DeserializationContext ctxt = _createDeserializationContext(jp, cfg); JsonDeserializer<Object> deser = _findRootDeserializer(cfg, valueType);
if (t == JsonToken.VALUE_NULL) { result = _findRootDeserializer(cfg, valueType).getNullValue(); } else if (t == JsonToken.END_ARRAY || t == JsonToken.END_OBJECT) { result = null; } else { // pointing to event other than null DeserializationContext ctxt = _createDeserializationContext(jp, cfg); JsonDeserializer<Object> deser = _findRootDeserializer(cfg, valueType);
/** * Actual implementation of value reading+binding operation. */ protected Object _readValue(DeserializationConfig cfg, JsonParser jp, JavaType valueType) throws IOException, JsonParseException, JsonMappingException { /* First: may need to read the next token, to initialize * state (either before first read from parser, or after * previous token has been cleared) */ Object result; JsonToken t = _initForReading(jp); if (t == JsonToken.VALUE_NULL || t == JsonToken.END_ARRAY || t == JsonToken.END_OBJECT) { result = null; } else { // pointing to event other than null DeserializationContext ctxt = _createDeserializationContext(jp, cfg); // ok, let's get the value result = _findRootDeserializer(cfg, valueType).deserialize(jp, ctxt); } // Need to consume the token too jp.clearCurrentToken(); return result; }
/** * Actual implementation of value reading+binding operation. */ protected Object _readValue(JsonParser jp, JavaType valueType, DeserializationConfig cfg) throws IOException, JsonParseException, JsonMappingException { /* First: may need to read the next token, to initialize * state (either before first read from parser, or after * previous token has been cleared) */ Object result; JsonToken t = _initForReading(jp); if (t == JsonToken.VALUE_NULL || t == JsonToken.END_ARRAY || t == JsonToken.END_OBJECT) { result = null; } else { // pointing to event other than null DeserializationContext ctxt = _createDeserializationContext(jp, cfg); // ok, let's get the value result = _findRootDeserializer(valueType).deserialize(jp, ctxt); } // Need to consume the token too jp.clearCurrentToken(); return result; }
result = _findRootDeserializer(this._deserializationConfig, valueType).getNullValue(); } else if (t == JsonToken.END_ARRAY || t == JsonToken.END_OBJECT) { result = null; DeserializationConfig cfg = copyDeserializationConfig(); DeserializationContext ctxt = _createDeserializationContext(jp, cfg); JsonDeserializer<Object> deser = _findRootDeserializer(cfg, valueType); if (cfg.isEnabled(DeserializationConfig.Feature.UNWRAP_ROOT_VALUE)) { result = _unwrapAndDeserialize(jp, valueType, ctxt, deser);
result = _findRootDeserializer(this._deserializationConfig, valueType).getNullValue(); } else if (t == JsonToken.END_ARRAY || t == JsonToken.END_OBJECT) { result = null; DeserializationConfig cfg = copyDeserializationConfig(); DeserializationContext ctxt = _createDeserializationContext(jp, cfg); JsonDeserializer<Object> deser = _findRootDeserializer(cfg, valueType); if (cfg.isEnabled(DeserializationConfig.Feature.UNWRAP_ROOT_VALUE)) { result = _unwrapAndDeserialize(jp, valueType, ctxt, deser);
protected Object _readMapAndClose(JsonParser jp, JavaType valueType) throws IOException, JsonParseException, JsonMappingException { try { Object result; JsonToken t = _initForReading(jp); if (t == JsonToken.VALUE_NULL || t == JsonToken.END_ARRAY || t == JsonToken.END_OBJECT) { result = null; } else { DeserializationConfig cfg = copyDeserializationConfig(); DeserializationContext ctxt = _createDeserializationContext(jp, cfg); result = _findRootDeserializer(cfg, valueType).deserialize(jp, ctxt); } // Need to consume the token too jp.clearCurrentToken(); return result; } finally { try { jp.close(); } catch (IOException ioe) { } } }
protected Object _readMapAndClose(JsonParser jp, JavaType valueType) throws IOException, JsonParseException, JsonMappingException { try { Object result; JsonToken t = _initForReading(jp); if (t == JsonToken.VALUE_NULL || t == JsonToken.END_ARRAY || t == JsonToken.END_OBJECT) { result = null; } else { DeserializationContext ctxt = _createDeserializationContext(jp, copyDeserializationConfig()); result = _findRootDeserializer(valueType).deserialize(jp, ctxt); } // Need to consume the token too jp.clearCurrentToken(); return result; } finally { try { jp.close(); } catch (IOException ioe) { } } }