Class BeanDeserializerFactory
java.lang.Object
com.fasterxml.jackson.databind.deser.DeserializerFactory
com.fasterxml.jackson.databind.deser.BasicDeserializerFactory
com.fasterxml.jackson.databind.deser.BeanDeserializerFactory
- All Implemented Interfaces:
Serializable
Concrete deserializer factory class that adds full Bean deserializer
construction logic using class introspection.
Note that factories specifically do not implement any form of caching:
aside from configuration they are stateless; caching is implemented
by other components.
Instances of this class are fully immutable as all configuration is done by using "fluent factories" (methods that construct new factory instances with different configuration, instead of modifying instance).
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final BeanDeserializerFactoryGlobally shareable thread-safe instance which has no additional custom deserializers registered -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbuildBeanDeserializer(DeserializationContext ctxt, JavaType type, BeanDescription beanDesc) Method that is to actually build a bean deserializer instance.buildThrowableDeserializer(DeserializationContext ctxt, JavaType type, BeanDescription beanDesc) createBeanDeserializer(DeserializationContext ctxt, JavaType type, BeanDescription beanDesc) Method thatDeserializerCaches call to create a new deserializer for types other than Collections, Maps, arrays and enums.createBuilderBasedDeserializer(DeserializationContext ctxt, JavaType valueType, BeanDescription valueBeanDesc, Class<?> builderClass) Method called to create a deserializer that will use specified Builder class for building value instances.withConfig(DeserializerFactoryConfig config) Method used by module registration functionality, to construct a new bean deserializer factory with different configuration settings.Methods inherited from class com.fasterxml.jackson.databind.deser.BasicDeserializerFactory
_valueInstantiatorInstance, createArrayDeserializer, createCollectionDeserializer, createCollectionLikeDeserializer, createEnumDeserializer, createKeyDeserializer, createMapDeserializer, createMapLikeDeserializer, createReferenceDeserializer, createTreeDeserializer, findDefaultDeserializer, findPropertyContentTypeDeserializer, findPropertyTypeDeserializer, findTypeDeserializer, findValueInstantiator, getFactoryConfig, hasExplicitDeserializerFor, mapAbstractType, withAbstractTypeResolver, withAdditionalDeserializers, withAdditionalKeyDeserializers, withDeserializerModifier, withValueInstantiators
-
Field Details
-
instance
Globally shareable thread-safe instance which has no additional custom deserializers registered
-
-
Constructor Details
-
BeanDeserializerFactory
-
-
Method Details
-
withConfig
Method used by module registration functionality, to construct a new bean deserializer factory with different configuration settings. -
createBeanDeserializer
public JsonDeserializer<Object> createBeanDeserializer(DeserializationContext ctxt, JavaType type, BeanDescription beanDesc) throws JsonMappingException Method thatDeserializerCaches call to create a new deserializer for types other than Collections, Maps, arrays and enums.- Specified by:
createBeanDeserializerin classDeserializerFactory- Parameters:
type- Type to be deserialized- Throws:
JsonMappingException
-
createBuilderBasedDeserializer
public JsonDeserializer<Object> createBuilderBasedDeserializer(DeserializationContext ctxt, JavaType valueType, BeanDescription valueBeanDesc, Class<?> builderClass) throws JsonMappingException Description copied from class:DeserializerFactoryMethod called to create a deserializer that will use specified Builder class for building value instances.- Specified by:
createBuilderBasedDeserializerin classDeserializerFactory- Throws:
JsonMappingException
-
buildBeanDeserializer
public JsonDeserializer<Object> buildBeanDeserializer(DeserializationContext ctxt, JavaType type, BeanDescription beanDesc) throws JsonMappingException Method that is to actually build a bean deserializer instance. All basic sanity checks have been done to know that what we have may be a valid bean type, and that there are no default simple deserializers.- Throws:
JsonMappingException
-
buildThrowableDeserializer
public JsonDeserializer<Object> buildThrowableDeserializer(DeserializationContext ctxt, JavaType type, BeanDescription beanDesc) throws JsonMappingException - Throws:
JsonMappingException
-