public class BuilderBasedDeserializer extends BeanDeserializerBase
Note on implementation: much of code has been copied from
BeanDeserializer; there may be opportunities to
refactor this in future.
JsonDeserializer.None| Modifier and Type | Field and Description |
|---|---|
protected AnnotatedMethod |
_buildMethod |
private static long |
serialVersionUID |
_anySetter, _arrayDelegateDeserializer, _backRefs, _beanProperties, _beanType, _delegateDeserializer, _externalTypeIdHandler, _ignorableProps, _ignoreAllUnknown, _injectables, _needViewProcesing, _nonStandardCreation, _objectIdReader, _propertyBasedCreator, _serializationShape, _subDeserializers, _unwrappedPropertyHandler, _valueInstantiator, _vanillaProcessing, TEMP_PROPERTY_NAME_valueClass, F_MASK_INT_COERCIONS| Modifier | Constructor and Description |
|---|---|
|
BuilderBasedDeserializer(BeanDeserializerBuilder builder,
BeanDescription beanDesc,
BeanPropertyMap properties,
java.util.Map<java.lang.String,SettableBeanProperty> backRefs,
java.util.HashSet<java.lang.String> ignorableProps,
boolean ignoreAllUnknown,
boolean hasViews)
Constructor used by
BeanDeserializerBuilder. |
protected |
BuilderBasedDeserializer(BuilderBasedDeserializer src)
Copy-constructor that can be used by sub-classes to allow
copy-on-write styling copying of settings of an existing instance.
|
protected |
BuilderBasedDeserializer(BuilderBasedDeserializer src,
boolean ignoreAllUnknown) |
|
BuilderBasedDeserializer(BuilderBasedDeserializer src,
java.util.HashSet<java.lang.String> ignorableProps) |
protected |
BuilderBasedDeserializer(BuilderBasedDeserializer src,
NameTransformer unwrapper) |
|
BuilderBasedDeserializer(BuilderBasedDeserializer src,
ObjectIdReader oir) |
| Modifier and Type | Method and Description |
|---|---|
protected java.lang.Object |
_deserialize(com.fasterxml.jackson.core.JsonParser p,
DeserializationContext ctxt,
java.lang.Object builder) |
protected java.lang.Object |
_deserializeUsingPropertyBased(com.fasterxml.jackson.core.JsonParser p,
DeserializationContext ctxt)
Method called to deserialize bean using "property-based creator":
this means that a non-default constructor or factory method is
called, and then possibly other setters.
|
protected BeanAsArrayBuilderDeserializer |
asArrayDeserializer()
Fluent factory for creating a variant that can handle
POJO output as a JSON Array.
|
java.lang.Object |
deserialize(com.fasterxml.jackson.core.JsonParser p,
DeserializationContext ctxt)
Main deserialization method for bean-based objects (POJOs).
|
java.lang.Object |
deserialize(com.fasterxml.jackson.core.JsonParser p,
DeserializationContext ctxt,
java.lang.Object builder)
Secondary deserialization method, called in cases where POJO
instance is created as part of deserialization, potentially
after collecting some or all of the properties to set.
|
java.lang.Object |
deserializeFromObject(com.fasterxml.jackson.core.JsonParser p,
DeserializationContext ctxt)
General version used when handling needs more advanced
features.
|
protected java.lang.Object |
deserializeUsingPropertyBasedWithExternalTypeId(com.fasterxml.jackson.core.JsonParser p,
DeserializationContext ctxt) |
protected java.lang.Object |
deserializeUsingPropertyBasedWithUnwrapped(com.fasterxml.jackson.core.JsonParser p,
DeserializationContext ctxt) |
protected java.lang.Object |
deserializeWithExternalTypeId(com.fasterxml.jackson.core.JsonParser p,
DeserializationContext ctxt) |
protected java.lang.Object |
deserializeWithExternalTypeId(com.fasterxml.jackson.core.JsonParser p,
DeserializationContext ctxt,
java.lang.Object bean) |
protected java.lang.Object |
deserializeWithUnwrapped(com.fasterxml.jackson.core.JsonParser p,
DeserializationContext ctxt)
Method called when there are declared "unwrapped" properties
which need special handling
|
protected java.lang.Object |
deserializeWithUnwrapped(com.fasterxml.jackson.core.JsonParser p,
DeserializationContext ctxt,
java.lang.Object bean) |
protected java.lang.Object |
deserializeWithView(com.fasterxml.jackson.core.JsonParser p,
DeserializationContext ctxt,
java.lang.Object bean,
java.lang.Class<?> activeView) |
protected java.lang.Object |
finishBuild(DeserializationContext ctxt,
java.lang.Object builder) |
JsonDeserializer<java.lang.Object> |
unwrappingDeserializer(NameTransformer unwrapper)
Method that will return deserializer instance that is able
to handle "unwrapped" value instances
If no unwrapped instance can be constructed, will simply
return this object as-is.
|
private java.lang.Object |
vanillaDeserialize(com.fasterxml.jackson.core.JsonParser p,
DeserializationContext ctxt,
com.fasterxml.jackson.core.JsonToken t)
Streamlined version that is only used when no "special"
features are enabled.
|
BuilderBasedDeserializer |
withIgnorableProperties(java.util.HashSet<java.lang.String> ignorableProps) |
BuilderBasedDeserializer |
withObjectIdReader(ObjectIdReader oir) |
_convertObjectId, _findSubclassDeserializer, _handleTypedObjectId, _resolvedObjectIdProperty, _resolveInnerClassValuedProperty, _resolveManagedReferenceProperty, _resolveUnwrappedProperty, createContextual, creatorProperties, deserializeFromArray, deserializeFromBoolean, deserializeFromDouble, deserializeFromEmbedded, deserializeFromNumber, deserializeFromObjectId, deserializeFromObjectUsingNonDefault, deserializeFromString, deserializeWithObjectId, deserializeWithType, findBackReference, findConvertingDeserializer, findProperty, findProperty, findProperty, getBeanClass, getKnownPropertyNames, getObjectIdReader, getPropertyCount, getValueInstantiator, getValueType, handledType, handleIgnoredProperty, handlePolymorphic, handleUnknownProperties, handleUnknownProperty, handleUnknownVanilla, hasProperty, hasViews, injectValues, isCachable, properties, replaceProperty, resolve, wrapAndThrow, wrapAndThrow, wrapInstantiationProblem_coerceIntegral, _deserializeFromEmpty, _failDoubleToIntCoercion, _hasTextualNull, _isIntNumber, _isNaN, _isNegInf, _isPosInf, _parseBoolean, _parseBooleanFromOther, _parseBooleanPrimitive, _parseByte, _parseDate, _parseDouble, _parseDoublePrimitive, _parseFloat, _parseFloatPrimitive, _parseInteger, _parseIntPrimitive, _parseLong, _parseLongPrimitive, _parseShort, _parseShortPrimitive, _parseString, findConvertingContentDeserializer, findDeserializer, findFormatFeature, findFormatOverrides, getValueClass, isDefaultDeserializer, isDefaultKeyDeserializer, parseDoublegetDelegatee, getEmptyValue, getEmptyValue, getNullValue, getNullValue, replaceDelegateeprivate static final long serialVersionUID
protected final AnnotatedMethod _buildMethod
public BuilderBasedDeserializer(BeanDeserializerBuilder builder, BeanDescription beanDesc, BeanPropertyMap properties, java.util.Map<java.lang.String,SettableBeanProperty> backRefs, java.util.HashSet<java.lang.String> ignorableProps, boolean ignoreAllUnknown, boolean hasViews)
BeanDeserializerBuilder.protected BuilderBasedDeserializer(BuilderBasedDeserializer src)
protected BuilderBasedDeserializer(BuilderBasedDeserializer src, boolean ignoreAllUnknown)
protected BuilderBasedDeserializer(BuilderBasedDeserializer src, NameTransformer unwrapper)
public BuilderBasedDeserializer(BuilderBasedDeserializer src, ObjectIdReader oir)
public BuilderBasedDeserializer(BuilderBasedDeserializer src, java.util.HashSet<java.lang.String> ignorableProps)
public JsonDeserializer<java.lang.Object> unwrappingDeserializer(NameTransformer unwrapper)
JsonDeserializerDefault implementation just returns 'this' indicating that no unwrapped variant exists
unwrappingDeserializer in class BeanDeserializerBasepublic BuilderBasedDeserializer withObjectIdReader(ObjectIdReader oir)
withObjectIdReader in class BeanDeserializerBasepublic BuilderBasedDeserializer withIgnorableProperties(java.util.HashSet<java.lang.String> ignorableProps)
withIgnorableProperties in class BeanDeserializerBaseprotected BeanAsArrayBuilderDeserializer asArrayDeserializer()
BeanDeserializerBaseasArrayDeserializer in class BeanDeserializerBaseprotected final java.lang.Object finishBuild(DeserializationContext ctxt, java.lang.Object builder) throws java.io.IOException
java.io.IOExceptionpublic final java.lang.Object deserialize(com.fasterxml.jackson.core.JsonParser p,
DeserializationContext ctxt)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonProcessingException
deserialize in class JsonDeserializer<java.lang.Object>p - Parsed used for reading JSON contentctxt - Context that can be used to access information about
this deserialization activity.java.io.IOExceptioncom.fasterxml.jackson.core.JsonProcessingExceptionpublic java.lang.Object deserialize(com.fasterxml.jackson.core.JsonParser p,
DeserializationContext ctxt,
java.lang.Object builder)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonProcessingException
deserialize in class JsonDeserializer<java.lang.Object>java.io.IOExceptioncom.fasterxml.jackson.core.JsonProcessingExceptionprotected final java.lang.Object _deserialize(com.fasterxml.jackson.core.JsonParser p,
DeserializationContext ctxt,
java.lang.Object builder)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonProcessingException
java.io.IOExceptioncom.fasterxml.jackson.core.JsonProcessingExceptionprivate final java.lang.Object vanillaDeserialize(com.fasterxml.jackson.core.JsonParser p,
DeserializationContext ctxt,
com.fasterxml.jackson.core.JsonToken t)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonProcessingException
java.io.IOExceptioncom.fasterxml.jackson.core.JsonProcessingExceptionpublic java.lang.Object deserializeFromObject(com.fasterxml.jackson.core.JsonParser p,
DeserializationContext ctxt)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonProcessingException
deserializeFromObject in class BeanDeserializerBasejava.io.IOExceptioncom.fasterxml.jackson.core.JsonProcessingExceptionprotected final java.lang.Object _deserializeUsingPropertyBased(com.fasterxml.jackson.core.JsonParser p,
DeserializationContext ctxt)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonProcessingException
_deserializeUsingPropertyBased in class BeanDeserializerBasejava.io.IOExceptioncom.fasterxml.jackson.core.JsonProcessingExceptionprotected final java.lang.Object deserializeWithView(com.fasterxml.jackson.core.JsonParser p,
DeserializationContext ctxt,
java.lang.Object bean,
java.lang.Class<?> activeView)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonProcessingException
java.io.IOExceptioncom.fasterxml.jackson.core.JsonProcessingExceptionprotected java.lang.Object deserializeWithUnwrapped(com.fasterxml.jackson.core.JsonParser p,
DeserializationContext ctxt)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonProcessingException
java.io.IOExceptioncom.fasterxml.jackson.core.JsonProcessingExceptionprotected java.lang.Object deserializeWithUnwrapped(com.fasterxml.jackson.core.JsonParser p,
DeserializationContext ctxt,
java.lang.Object bean)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonProcessingException
java.io.IOExceptioncom.fasterxml.jackson.core.JsonProcessingExceptionprotected java.lang.Object deserializeUsingPropertyBasedWithUnwrapped(com.fasterxml.jackson.core.JsonParser p,
DeserializationContext ctxt)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonProcessingException
java.io.IOExceptioncom.fasterxml.jackson.core.JsonProcessingExceptionprotected java.lang.Object deserializeWithExternalTypeId(com.fasterxml.jackson.core.JsonParser p,
DeserializationContext ctxt)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonProcessingException
java.io.IOExceptioncom.fasterxml.jackson.core.JsonProcessingExceptionprotected java.lang.Object deserializeWithExternalTypeId(com.fasterxml.jackson.core.JsonParser p,
DeserializationContext ctxt,
java.lang.Object bean)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonProcessingException
java.io.IOExceptioncom.fasterxml.jackson.core.JsonProcessingExceptionprotected java.lang.Object deserializeUsingPropertyBasedWithExternalTypeId(com.fasterxml.jackson.core.JsonParser p,
DeserializationContext ctxt)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonProcessingException
java.io.IOExceptioncom.fasterxml.jackson.core.JsonProcessingException