Note on implementation: much of code has been copied from
BeanDeserializer; there may be opportunities to
refactor this in future.
| Modifier and Type | Field and Description |
|---|---|
| protected final AnnotatedMethod | |
| private transient volatile NameTransformer | _currentlyTransforming
State marker we need in order to avoid infinite recursion for some cases (not very clean, alas, but has to do for now) |
| protected SettableBeanProperty[] | |
| protected PropertyNameMatcher | |
| protected final JavaType | _targetType
Type that the builder will produce, target type; as opposed to `handledType()` which refers to Builder class. |
| Access | Constructor and Description |
|---|---|
| public | BuilderBasedDeserializer(BeanDeserializerBuilder builder, BeanDescription.
Constructor used by |
| public | BuilderBasedDeserializer(BeanDeserializerBuilder builder, BeanDescription.
|
| 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 | |
| protected | BuilderBasedDeserializer(BuilderBasedDeserializer src, UnwrappedPropertyHandler unwrapHandler, PropertyBasedCreator pbCreator, BeanPropertyMap renamedProperties, boolean ignoreAllUnknown)
|
| public | |
| public | |
| public | BuilderBasedDeserializer(BuilderBasedDeserializer src, Set<String> ignorableProps, Set<String> includableProps)
|
| public |
| Modifier and Type | Method and Description |
|---|---|
| protected final Object | |
| protected Object | _deserializeFromArray(JsonParser p, DeserializationContext ctxt)
Overrides tools. Helper method that allows easy support for array-related coercion features:
checks for either empty array, or single-value array-wrapped value (if coercion
enabled by |
| protected Object | Returns: Builder instance constructedImplements abstract tools. 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 Object | _handleUnexpectedWithin(JsonParser p, DeserializationContext ctxt, Object beanOrBuilder)
Method called if an unexpected token (other then |
| private final Object | _vanillaDeserialize(JsonParser p, DeserializationContext ctxt)
Streamlined version that is only used when no "special" features are enabled. |
| protected BeanDeserializerBase | asArrayDeserializer()
Implements abstract tools. Fluent factory for creating a variant that can handle POJO output as a JSON Array. |
| public Object | deserialize(JsonParser p, DeserializationContext ctxt)
Implements abstract tools. Main deserialization method for bean-based objects (POJOs). |
| public Object | deserialize(JsonParser p, DeserializationContext ctxt, Object value)
Overrides tools. 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. |
| public Object | deserializeFromObject(JsonParser p, DeserializationContext ctxt)
Implements abstract tools. General version used when handling needs more advanced features. |
| protected Object | |
| protected Object | |
| protected Object | |
| protected Object | |
| protected Object | deserializeWithUnwrapped(JsonParser p, DeserializationContext ctxt)
Method called when there are declared "unwrapped" properties which need special handling |
| protected Object | deserializeWithUnwrapped(JsonParser p, DeserializationContext ctxt, Object builder, TokenBuffer tokens)
|
| protected final Object | |
| protected Object | |
| protected void | initNameMatcher(DeserializationContext ctxt)
Implements abstract tools.
|
| public Boolean | supportsUpdate(DeserializationConfig config)
Overrides tools. Introspection method that may be called to see whether deserializer supports update of an existing value (aka "merging") or not. |
| public ValueDeserializer | unwrappingDeserializer(DeserializationContext ctxt, NameTransformer transformer)
Implements abstract tools. 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. |
| public BeanDeserializerBase | withBeanProperties(BeanPropertyMap props)
Overrides tools. Mutant factory method that custom sub-classes must override; not left as abstract to prevent more drastic backwards compatibility problems. |
| public BeanDeserializerBase | withByNameInclusion(Set<String> ignorableProps, Set<String> includableProps)
Implements abstract tools.
|
| public BeanDeserializerBase | withIgnoreAllUnknown(boolean ignoreUnknown)
Implements abstract tools.
|
| public BeanDeserializerBase | withObjectIdReader(ObjectIdReader oir)
Implements abstract tools.
|
| _buildMethod | back to summary |
|---|---|
| protected final AnnotatedMethod _buildMethod | |
| _currentlyTransforming | back to summary |
|---|---|
| private transient volatile NameTransformer _currentlyTransforming State marker we need in order to avoid infinite recursion for some cases (not very clean, alas, but has to do for now) | |
| _propertiesByIndex | back to summary |
|---|---|
| protected SettableBeanProperty[] _propertiesByIndex | |
| _propertyNameMatcher | back to summary |
|---|---|
| protected PropertyNameMatcher _propertyNameMatcher | |
| _targetType | back to summary |
|---|---|
| protected final JavaType _targetType Type that the builder will produce, target type; as opposed to `handledType()` which refers to Builder class. | |
| BuilderBasedDeserializer | back to summary |
|---|---|
| public BuilderBasedDeserializer(BeanDeserializerBuilder builder, BeanDescription. Constructor used by | |
| BuilderBasedDeserializer | back to summary |
|---|---|
public BuilderBasedDeserializer(BeanDeserializerBuilder builder, BeanDescription.
| |
| BuilderBasedDeserializer | back to summary |
|---|---|
| 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. | |
| BuilderBasedDeserializer | back to summary |
|---|---|
| protected BuilderBasedDeserializer(BuilderBasedDeserializer src, boolean ignoreAllUnknown) | |
| BuilderBasedDeserializer | back to summary |
|---|---|
| protected BuilderBasedDeserializer(BuilderBasedDeserializer src, UnwrappedPropertyHandler unwrapHandler, PropertyBasedCreator pbCreator, BeanPropertyMap renamedProperties, boolean ignoreAllUnknown) | |
| BuilderBasedDeserializer | back to summary |
|---|---|
| public BuilderBasedDeserializer(BuilderBasedDeserializer src, ObjectIdReader oir) | |
| BuilderBasedDeserializer | back to summary |
|---|---|
| public BuilderBasedDeserializer(BuilderBasedDeserializer src, Set<String> ignorableProps) | |
| BuilderBasedDeserializer | back to summary |
|---|---|
| public BuilderBasedDeserializer(BuilderBasedDeserializer src, Set<String> ignorableProps, Set<String> includableProps) | |
| BuilderBasedDeserializer | back to summary |
|---|---|
| public BuilderBasedDeserializer(BuilderBasedDeserializer src, BeanPropertyMap props) | |
| _deserialize | back to summary |
|---|---|
| protected final Object _deserialize(JsonParser p, DeserializationContext ctxt, Object builder) throws JacksonException | |
| _deserializeFromArray | back to summary |
|---|---|
| protected Object _deserializeFromArray(JsonParser p, DeserializationContext ctxt) throws JacksonException Overrides tools. Doc from tools. Helper method that allows easy support for array-related coercion features:
checks for either empty array, or single-value array-wrapped value (if coercion
enabled by This method should NOT be called if Array representation is explicitly supported for type: it should only be called in case it is otherwise unrecognized. Note in case of unwrapped single element, will handle actual decoding
by calling
| |
| _deserializeUsingPropertyBased | back to summary |
|---|---|
| protected Object _deserializeUsingPropertyBased(final JsonParser p, final DeserializationContext ctxt) throws JacksonException Implements abstract tools. 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. The trick is that values for creator method need to be buffered, first; and due to non-guaranteed ordering possibly some other properties as well. | |
| _handleUnexpectedWithin | back to summary |
|---|---|
| protected Object _handleUnexpectedWithin(JsonParser p, DeserializationContext ctxt, Object beanOrBuilder) throws JacksonException Method called if an unexpected token (other then
| |
| _vanillaDeserialize | back to summary |
|---|---|
| private final Object _vanillaDeserialize(JsonParser p, DeserializationContext ctxt) throws JacksonException Streamlined version that is only used when no "special" features are enabled. | |
| asArrayDeserializer | back to summary |
|---|---|
| protected BeanDeserializerBase asArrayDeserializer() Implements abstract tools. Doc from tools. Fluent factory for creating a variant that can handle POJO output as a JSON Array. Implementations may ignore this request if no such input is possible.
| |
| deserialize | back to summary |
|---|---|
| public Object deserialize(JsonParser p, DeserializationContext ctxt) throws JacksonException Implements abstract tools. Main deserialization method for bean-based objects (POJOs).
| |
| deserialize | back to summary |
|---|---|
| public Object deserialize(JsonParser p, DeserializationContext ctxt, Object value) throws JacksonException Overrides tools. 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.
| |
| deserializeFromObject | back to summary |
|---|---|
| public Object deserializeFromObject(JsonParser p, DeserializationContext ctxt) throws JacksonException Implements abstract tools. General version used when handling needs more advanced features.
| |
| deserializeUsingPropertyBasedWithExternalTypeId | back to summary |
|---|---|
| protected Object deserializeUsingPropertyBasedWithExternalTypeId(JsonParser p, DeserializationContext ctxt) throws JacksonException | |
| deserializeUsingPropertyBasedWithUnwrapped | back to summary |
|---|---|
protected Object deserializeUsingPropertyBasedWithUnwrapped(JsonParser p, DeserializationContext ctxt) throws JacksonException
| |
| deserializeWithExternalTypeId | back to summary |
|---|---|
| protected Object deserializeWithExternalTypeId(JsonParser p, DeserializationContext ctxt) throws JacksonException | |
| deserializeWithExternalTypeId | back to summary |
|---|---|
| protected Object deserializeWithExternalTypeId(JsonParser p, DeserializationContext ctxt, Object bean) throws JacksonException | |
| deserializeWithUnwrapped | back to summary |
|---|---|
| protected Object deserializeWithUnwrapped(JsonParser p, DeserializationContext ctxt) throws JacksonException Method called when there are declared "unwrapped" properties which need special handling
| |
| deserializeWithUnwrapped | back to summary |
|---|---|
| protected Object deserializeWithUnwrapped(JsonParser p, DeserializationContext ctxt, Object builder, TokenBuffer tokens) throws JacksonException | |
| deserializeWithView | back to summary |
|---|---|
| protected final Object deserializeWithView(JsonParser p, DeserializationContext ctxt, Object bean, Class<?> activeView) throws JacksonException | |
| finishBuild | back to summary |
|---|---|
| protected Object finishBuild(DeserializationContext ctxt, Object builder) throws JacksonException | |
| initNameMatcher | back to summary |
|---|---|
| protected void initNameMatcher(DeserializationContext ctxt) Implements abstract tools.
| |
| supportsUpdate | back to summary |
|---|---|
| public Boolean supportsUpdate(DeserializationConfig config) Overrides tools. Doc from tools. Introspection method that may be called to see whether deserializer supports
update of an existing value (aka "merging") or not. Return value should either
be
Information gathered is typically used to either prevent merging update for
property (either by skipping, if based on global defaults; or by exception during
deserializer construction if explicit attempt made) if
Default implementation returns
| |
| unwrappingDeserializer | back to summary |
|---|---|
| public ValueDeserializer Implements abstract tools. Doc from tools. 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. Default implementation just returns 'this' indicating that no unwrapped variant exists
| |
| withBeanProperties | back to summary |
|---|---|
| public BeanDeserializerBase withBeanProperties(BeanPropertyMap props) Overrides tools. Doc from tools. Mutant factory method that custom sub-classes must override; not left as abstract to prevent more drastic backwards compatibility problems.
| |
| withByNameInclusion | back to summary |
|---|---|
| public BeanDeserializerBase withByNameInclusion(Set<String> ignorableProps, Set<String> includableProps) Implements abstract tools.
| |
| withIgnoreAllUnknown | back to summary |
|---|---|
| public BeanDeserializerBase withIgnoreAllUnknown(boolean ignoreUnknown) Implements abstract tools.
| |
| withObjectIdReader | back to summary |
|---|---|
| public BeanDeserializerBase withObjectIdReader(ObjectIdReader oir) Implements abstract tools.
| |