/** * By default we assume that updateability mostly relies on value * deserializer; if it supports updates, typically that's what * matters. So let's just delegate. */ @Override // since 2.9 public Boolean supportsUpdate(DeserializationConfig config) { return (_valueDeserializer == null) ? null : _valueDeserializer.supportsUpdate(config); }
@Override // since 2.9 public Boolean supportsUpdate(DeserializationConfig config) { return _deserializer.supportsUpdate(config); }
@Override // since 2.9 public Boolean supportsUpdate(DeserializationConfig config) { return _delegatee.supportsUpdate(config); }
@Override // since 2.9 public Boolean supportsUpdate(DeserializationConfig config) { return _delegateDeserializer.supportsUpdate(config); }
@Override public T deserialize(JsonParser p, DeserializationContext ctxt, T reference) throws IOException { Object contents; // 26-Oct-2016, tatu: first things first; see if we should be able to merge: Boolean B = _valueDeserializer.supportsUpdate(ctxt.getConfig()); // if explicitly stated that merge won't work... if (B.equals(Boolean.FALSE) || (_valueTypeDeserializer != null)) { contents = (_valueTypeDeserializer == null) ? _valueDeserializer.deserialize(p, ctxt) : _valueDeserializer.deserializeWithType(p, ctxt, _valueTypeDeserializer); } else { // Otherwise, see if we can merge the value contents = getReferenced(reference); // Whether to error or not... for now, just go back to default then if (contents == null) { contents = (_valueTypeDeserializer == null) ? _valueDeserializer.deserialize(p, ctxt) : _valueDeserializer.deserializeWithType(p, ctxt, _valueTypeDeserializer); return referenceValue(contents); } else { contents = _valueDeserializer.deserialize(p, ctxt, contents); } } return updateReference(reference, contents); }
Boolean mayMerge = valueDeser.supportsUpdate(ctxt.getConfig());
@Override // since 2.9 public Boolean supportsUpdate(DeserializationConfig config) { return _deserializer.supportsUpdate(config); }
/** * By default we assume that updateability mostly relies on value * deserializer; if it supports updates, typically that's what * matters. So let's just delegate. */ @Override // since 2.9 public Boolean supportsUpdate(DeserializationConfig config) { return (_valueDeserializer == null) ? null : _valueDeserializer.supportsUpdate(config); }
@Override // since 2.9 public Boolean supportsUpdate(DeserializationConfig config) { return _delegateDeserializer.supportsUpdate(config); }
@Override // since 2.9 public Boolean supportsUpdate(DeserializationConfig config) { return _delegatee.supportsUpdate(config); }
@Override public T deserialize(JsonParser p, DeserializationContext ctxt, T reference) throws IOException { Object contents; // 26-Oct-2016, tatu: first things first; see if we should be able to merge: Boolean B = _valueDeserializer.supportsUpdate(ctxt.getConfig()); // if explicitly stated that merge won't work... if (B.equals(Boolean.FALSE) || (_valueTypeDeserializer != null)) { contents = (_valueTypeDeserializer == null) ? _valueDeserializer.deserialize(p, ctxt) : _valueDeserializer.deserializeWithType(p, ctxt, _valueTypeDeserializer); } else { // Otherwise, see if we can merge the value contents = getReferenced(reference); // Whether to error or not... for now, just go back to default then if (contents == null) { contents = (_valueTypeDeserializer == null) ? _valueDeserializer.deserialize(p, ctxt) : _valueDeserializer.deserializeWithType(p, ctxt, _valueTypeDeserializer); return referenceValue(contents); } else { contents = _valueDeserializer.deserialize(p, ctxt, contents); } } return updateReference(reference, contents); }
Boolean mayMerge = valueDeser.supportsUpdate(ctxt.getConfig());