|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.fasterxml.jackson.databind.JsonDeserializer<T> com.fasterxml.jackson.databind.deser.std.StdDeserializer<Object> com.fasterxml.jackson.databind.deser.BeanDeserializerBase com.fasterxml.jackson.databind.deser.BuilderBasedDeserializer
public class BuilderBasedDeserializer
Class that handles deserialization using a separate Builder class, which is used for data binding and produces actual deserialized value at the end of data binding.
Note on implementation: much of code has been copied from
BeanDeserializer
; there may be opportunities to
refactor this in future.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class com.fasterxml.jackson.databind.JsonDeserializer |
---|
JsonDeserializer.None |
Field Summary | |
---|---|
protected AnnotatedMethod |
_buildMethod
|
Fields inherited from class com.fasterxml.jackson.databind.deser.BeanDeserializerBase |
---|
_anySetter, _backRefs, _beanProperties, _beanType, _classAnnotations, _delegateDeserializer, _externalTypeIdHandler, _ignorableProps, _ignoreAllUnknown, _injectables, _needViewProcesing, _nonStandardCreation, _objectIdReader, _propertyBasedCreator, _subDeserializers, _unwrappedPropertyHandler, _valueInstantiator, _vanillaProcessing |
Fields inherited from class com.fasterxml.jackson.databind.deser.std.StdDeserializer |
---|
_valueClass |
Constructor Summary | |
---|---|
|
BuilderBasedDeserializer(BeanDeserializerBuilder builder,
BeanDescription beanDesc,
BeanPropertyMap properties,
Map<String,SettableBeanProperty> backRefs,
HashSet<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,
HashSet<String> ignorableProps)
|
protected |
BuilderBasedDeserializer(BuilderBasedDeserializer src,
NameTransformer unwrapper)
|
|
BuilderBasedDeserializer(BuilderBasedDeserializer src,
ObjectIdReader oir)
|
Method Summary | |
---|---|
protected Object |
_deserialize(com.fasterxml.jackson.core.JsonParser jp,
DeserializationContext ctxt,
Object builder)
|
protected Object |
_deserializeUsingPropertyBased(com.fasterxml.jackson.core.JsonParser jp,
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. |
Object |
deserialize(com.fasterxml.jackson.core.JsonParser jp,
DeserializationContext ctxt)
Main deserialization method for bean-based objects (POJOs). |
Object |
deserialize(com.fasterxml.jackson.core.JsonParser jp,
DeserializationContext ctxt,
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. |
Object |
deserializeFromArray(com.fasterxml.jackson.core.JsonParser jp,
DeserializationContext ctxt)
|
Object |
deserializeFromBoolean(com.fasterxml.jackson.core.JsonParser jp,
DeserializationContext ctxt)
Method called to deserialize POJO value from a JSON boolean value (true, false) |
Object |
deserializeFromDouble(com.fasterxml.jackson.core.JsonParser jp,
DeserializationContext ctxt)
Method called to deserialize POJO value from a JSON floating-point number. |
Object |
deserializeFromNumber(com.fasterxml.jackson.core.JsonParser jp,
DeserializationContext ctxt)
|
Object |
deserializeFromObject(com.fasterxml.jackson.core.JsonParser jp,
DeserializationContext ctxt)
General version used when handling needs more advanced features. |
protected Object |
deserializeFromObjectUsingNonDefault(com.fasterxml.jackson.core.JsonParser jp,
DeserializationContext ctxt)
|
Object |
deserializeFromString(com.fasterxml.jackson.core.JsonParser jp,
DeserializationContext ctxt)
|
protected Object |
deserializeUsingPropertyBasedWithExternalTypeId(com.fasterxml.jackson.core.JsonParser jp,
DeserializationContext ctxt)
|
protected Object |
deserializeUsingPropertyBasedWithUnwrapped(com.fasterxml.jackson.core.JsonParser jp,
DeserializationContext ctxt)
|
protected Object |
deserializeWithExternalTypeId(com.fasterxml.jackson.core.JsonParser jp,
DeserializationContext ctxt)
|
protected Object |
deserializeWithExternalTypeId(com.fasterxml.jackson.core.JsonParser jp,
DeserializationContext ctxt,
Object bean)
|
protected Object |
deserializeWithUnwrapped(com.fasterxml.jackson.core.JsonParser jp,
DeserializationContext ctxt)
Method called when there are declared "unwrapped" properties which need special handling |
protected Object |
deserializeWithUnwrapped(com.fasterxml.jackson.core.JsonParser jp,
DeserializationContext ctxt,
Object bean)
|
protected Object |
deserializeWithView(com.fasterxml.jackson.core.JsonParser jp,
DeserializationContext ctxt,
Object bean,
Class<?> activeView)
|
protected Object |
finishBuild(DeserializationContext ctxt,
Object builder)
|
protected Object |
handlePolymorphic(com.fasterxml.jackson.core.JsonParser jp,
DeserializationContext ctxt,
Object bean,
TokenBuffer unknownTokens)
Method called in cases where we may have polymorphic deserialization case: that is, type of Creator-constructed bean is not the type of deserializer itself. |
JsonDeserializer<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. |
BuilderBasedDeserializer |
withIgnorableProperties(HashSet<String> ignorableProps)
|
BuilderBasedDeserializer |
withObjectIdReader(ObjectIdReader oir)
|
Methods inherited from class com.fasterxml.jackson.databind.deser.std.StdDeserializer |
---|
_parseBoolean, _parseBooleanFromNumber, _parseBooleanPrimitive, _parseByte, _parseDate, _parseDouble, _parseDoublePrimitive, _parseFloat, _parseFloatPrimitive, _parseInteger, _parseIntPrimitive, _parseLong, _parseLongPrimitive, _parseShort, _parseShortPrimitive, findDeserializer, getValueClass, isDefaultDeserializer, isDefaultKeyDeserializer, parseDouble |
Methods inherited from class com.fasterxml.jackson.databind.JsonDeserializer |
---|
getEmptyValue, getNullValue |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected final AnnotatedMethod _buildMethod
Constructor Detail |
---|
public BuilderBasedDeserializer(BeanDeserializerBuilder builder, BeanDescription beanDesc, BeanPropertyMap properties, Map<String,SettableBeanProperty> backRefs, HashSet<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, HashSet<String> ignorableProps)
Method Detail |
---|
public JsonDeserializer<Object> unwrappingDeserializer(NameTransformer unwrapper)
JsonDeserializer
Default implementation just returns 'this' indicating that no unwrapped variant exists
unwrappingDeserializer
in class BeanDeserializerBase
public BuilderBasedDeserializer withObjectIdReader(ObjectIdReader oir)
withObjectIdReader
in class BeanDeserializerBase
public BuilderBasedDeserializer withIgnorableProperties(HashSet<String> ignorableProps)
withIgnorableProperties
in class BeanDeserializerBase
protected final Object finishBuild(DeserializationContext ctxt, Object builder) throws IOException
IOException
public final Object deserialize(com.fasterxml.jackson.core.JsonParser jp, DeserializationContext ctxt) throws IOException, com.fasterxml.jackson.core.JsonProcessingException
deserialize
in class JsonDeserializer<Object>
jp
- Parsed used for reading JSON contentctxt
- Context that can be used to access information about
this deserialization activity.
IOException
com.fasterxml.jackson.core.JsonProcessingException
public Object deserialize(com.fasterxml.jackson.core.JsonParser jp, DeserializationContext ctxt, Object builder) throws IOException, com.fasterxml.jackson.core.JsonProcessingException
deserialize
in class JsonDeserializer<Object>
IOException
com.fasterxml.jackson.core.JsonProcessingException
protected final Object _deserialize(com.fasterxml.jackson.core.JsonParser jp, DeserializationContext ctxt, Object builder) throws IOException, com.fasterxml.jackson.core.JsonProcessingException
IOException
com.fasterxml.jackson.core.JsonProcessingException
public Object deserializeFromObject(com.fasterxml.jackson.core.JsonParser jp, DeserializationContext ctxt) throws IOException, com.fasterxml.jackson.core.JsonProcessingException
IOException
com.fasterxml.jackson.core.JsonProcessingException
protected Object deserializeFromObjectUsingNonDefault(com.fasterxml.jackson.core.JsonParser jp, DeserializationContext ctxt) throws IOException, com.fasterxml.jackson.core.JsonProcessingException
IOException
com.fasterxml.jackson.core.JsonProcessingException
public Object deserializeFromString(com.fasterxml.jackson.core.JsonParser jp, DeserializationContext ctxt) throws IOException, com.fasterxml.jackson.core.JsonProcessingException
IOException
com.fasterxml.jackson.core.JsonProcessingException
public Object deserializeFromNumber(com.fasterxml.jackson.core.JsonParser jp, DeserializationContext ctxt) throws IOException, com.fasterxml.jackson.core.JsonProcessingException
IOException
com.fasterxml.jackson.core.JsonProcessingException
public Object deserializeFromDouble(com.fasterxml.jackson.core.JsonParser jp, DeserializationContext ctxt) throws IOException, com.fasterxml.jackson.core.JsonProcessingException
IOException
com.fasterxml.jackson.core.JsonProcessingException
public Object deserializeFromBoolean(com.fasterxml.jackson.core.JsonParser jp, DeserializationContext ctxt) throws IOException, com.fasterxml.jackson.core.JsonProcessingException
IOException
com.fasterxml.jackson.core.JsonProcessingException
public Object deserializeFromArray(com.fasterxml.jackson.core.JsonParser jp, DeserializationContext ctxt) throws IOException, com.fasterxml.jackson.core.JsonProcessingException
IOException
com.fasterxml.jackson.core.JsonProcessingException
protected final Object _deserializeUsingPropertyBased(com.fasterxml.jackson.core.JsonParser jp, DeserializationContext ctxt) throws IOException, com.fasterxml.jackson.core.JsonProcessingException
IOException
com.fasterxml.jackson.core.JsonProcessingException
protected Object handlePolymorphic(com.fasterxml.jackson.core.JsonParser jp, DeserializationContext ctxt, Object bean, TokenBuffer unknownTokens) throws IOException, com.fasterxml.jackson.core.JsonProcessingException
jp
- (optional) If not null, parser that has more properties to handle
(in addition to buffered properties); if null, all properties are passed
in buffer
IOException
com.fasterxml.jackson.core.JsonProcessingException
protected final Object deserializeWithView(com.fasterxml.jackson.core.JsonParser jp, DeserializationContext ctxt, Object bean, Class<?> activeView) throws IOException, com.fasterxml.jackson.core.JsonProcessingException
IOException
com.fasterxml.jackson.core.JsonProcessingException
protected Object deserializeWithUnwrapped(com.fasterxml.jackson.core.JsonParser jp, DeserializationContext ctxt) throws IOException, com.fasterxml.jackson.core.JsonProcessingException
IOException
com.fasterxml.jackson.core.JsonProcessingException
protected Object deserializeWithUnwrapped(com.fasterxml.jackson.core.JsonParser jp, DeserializationContext ctxt, Object bean) throws IOException, com.fasterxml.jackson.core.JsonProcessingException
IOException
com.fasterxml.jackson.core.JsonProcessingException
protected Object deserializeUsingPropertyBasedWithUnwrapped(com.fasterxml.jackson.core.JsonParser jp, DeserializationContext ctxt) throws IOException, com.fasterxml.jackson.core.JsonProcessingException
IOException
com.fasterxml.jackson.core.JsonProcessingException
protected Object deserializeWithExternalTypeId(com.fasterxml.jackson.core.JsonParser jp, DeserializationContext ctxt) throws IOException, com.fasterxml.jackson.core.JsonProcessingException
IOException
com.fasterxml.jackson.core.JsonProcessingException
protected Object deserializeWithExternalTypeId(com.fasterxml.jackson.core.JsonParser jp, DeserializationContext ctxt, Object bean) throws IOException, com.fasterxml.jackson.core.JsonProcessingException
IOException
com.fasterxml.jackson.core.JsonProcessingException
protected Object deserializeUsingPropertyBasedWithExternalTypeId(com.fasterxml.jackson.core.JsonParser jp, DeserializationContext ctxt) throws IOException, com.fasterxml.jackson.core.JsonProcessingException
IOException
com.fasterxml.jackson.core.JsonProcessingException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |