Class BasicDeserializerFactory
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
BeanDeserializerFactory
Collection).
Since all simple deserializers are eagerly instantiated, and there is no additional introspection or customizability of these types, this factory is stateless.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static classHelper class to contain default mappings for abstract JDKCollectionandMaptypes.protected static classHelper class to contain largish number of parameters that need to be passed during Creator introspection. -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final DeserializerFactoryConfigConfiguration settings for this factory; immutable instance (just like this factory), new version created via copy-constructor (fluent-style)protected static final PropertyNameWe need a placeholder for creator properties that don't have name but are marked with `@JsonWrapped` annotation.Fields inherited from class DeserializerFactory
NO_DESERIALIZERS -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected -
Method Summary
Modifier and TypeMethodDescriptionprotected void_addExplicitAnyCreator(DeserializationContext ctxt, BeanDescription beanDesc, CreatorCollector creators, CreatorCandidate candidate) Deprecated.protected void_addExplicitAnyCreator(DeserializationContext ctxt, BeanDescription beanDesc, CreatorCollector creators, CreatorCandidate candidate, ConstructorDetector ctorDetector) Helper method called when there is explicit "is-creator" marker, but no mode declaration.protected void_addExplicitConstructorCreators(DeserializationContext ctxt, BasicDeserializerFactory.CreatorCollectionState ccState, boolean findImplicit) protected void_addExplicitDelegatingCreator(DeserializationContext ctxt, BeanDescription beanDesc, CreatorCollector creators, CreatorCandidate candidate) Helper method called when there is the explicit "is-creator" with mode of "delegating"protected void_addExplicitFactoryCreators(DeserializationContext ctxt, BasicDeserializerFactory.CreatorCollectionState ccState, boolean findImplicit) protected void_addExplicitPropertyCreator(DeserializationContext ctxt, BeanDescription beanDesc, CreatorCollector creators, CreatorCandidate candidate) Helper method called when there is the explicit "is-creator" annotation with mode of "properties-based"protected void_addImplicitConstructorCreators(DeserializationContext ctxt, BasicDeserializerFactory.CreatorCollectionState ccState, List<CreatorCandidate> ctorCandidates) protected void_addImplicitFactoryCreators(DeserializationContext ctxt, BasicDeserializerFactory.CreatorCollectionState ccState, List<CreatorCandidate> factoryCandidates) protected void_addRecordConstructor(DeserializationContext ctxt, BasicDeserializerFactory.CreatorCollectionState ccState, AnnotatedConstructor canonical, List<String> implicitNames) Deprecated.since 2.15 - no longer used, but kept because this protected method might have been overridden/used elsewhereprotected ValueInstantiator_constructDefaultValueInstantiator(DeserializationContext ctxt, BeanDescription beanDesc) Method that will construct standard defaultValueInstantiatorusing annotations (like @JsonCreator) and visibility rulesprotected Map<AnnotatedWithParams, BeanPropertyDefinition[]> _findCreatorsFromProperties(DeserializationContext ctxt, BeanDescription beanDesc) protected JsonDeserializer<?> _findCustomArrayDeserializer(ArrayType type, DeserializationConfig config, BeanDescription beanDesc, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer) protected JsonDeserializer<Object> _findCustomBeanDeserializer(JavaType type, DeserializationConfig config, BeanDescription beanDesc) protected JsonDeserializer<?> _findCustomCollectionDeserializer(CollectionType type, DeserializationConfig config, BeanDescription beanDesc, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer) protected JsonDeserializer<?> _findCustomCollectionLikeDeserializer(CollectionLikeType type, DeserializationConfig config, BeanDescription beanDesc, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer) protected JsonDeserializer<?> _findCustomEnumDeserializer(Class<?> type, DeserializationConfig config, BeanDescription beanDesc) protected JsonDeserializer<?> _findCustomMapDeserializer(MapType type, DeserializationConfig config, BeanDescription beanDesc, KeyDeserializer keyDeserializer, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer) protected JsonDeserializer<?> _findCustomMapLikeDeserializer(MapLikeType type, DeserializationConfig config, BeanDescription beanDesc, KeyDeserializer keyDeserializer, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer) protected JsonDeserializer<?> _findCustomReferenceDeserializer(ReferenceType type, DeserializationConfig config, BeanDescription beanDesc, TypeDeserializer contentTypeDeserializer, JsonDeserializer<?> contentDeserializer) protected JsonDeserializer<?> _findCustomTreeNodeDeserializer(Class<? extends JsonNode> type, DeserializationConfig config, BeanDescription beanDesc) protected AnnotatedMethod_findJsonValueFor(DeserializationConfig config, JavaType enumType) Deprecated.since 2.8 callfindJsonValueMethodonBeanDescriptioninsteadprotected JavaType_findRemappedType(DeserializationConfig config, Class<?> rawType) protected PropertyMetadata_getSetterInfo(DeserializationContext ctxt, BeanProperty prop, PropertyMetadata metadata) Helper method copied fromPOJOPropertyBuildersince that won't be applied to creator parametersprotected boolean_handleSingleArgumentCreator(CreatorCollector creators, AnnotatedWithParams ctor, boolean isCreator, boolean isVisible) protected boolean_hasCreatorAnnotation(DeserializationContext ctxt, Annotated ann) protected CollectionType_mapAbstractCollectionType(JavaType type, DeserializationConfig config) protected MapType_mapAbstractMapType(JavaType type, DeserializationConfig config) protected void_reportUnwrappedCreatorProperty(DeserializationContext ctxt, BeanDescription beanDesc, AnnotatedParameter param) protected void_validateNamedPropertyParameter(DeserializationContext ctxt, BeanDescription beanDesc, CreatorCandidate candidate, int paramIndex, PropertyName name, com.fasterxml.jackson.annotation.JacksonInject.Value injectId) _valueInstantiatorInstance(DeserializationConfig config, Annotated annotated, Object instDef) protected SettableBeanPropertyconstructCreatorProperty(DeserializationContext ctxt, BeanDescription beanDesc, PropertyName name, int index, AnnotatedParameter param, com.fasterxml.jackson.annotation.JacksonInject.Value injectable) Method that will construct a property object that represents a logical property passed via Creator (constructor or static factory method)protected EnumResolverconstructEnumNamingStrategyResolver(DeserializationConfig config, AnnotatedClass annotatedClass) Factory method used to resolve an instance ofCompactStringObjectMapwithEnumNamingStrategyapplied for the target class.protected EnumResolverconstructEnumNamingStrategyResolver(DeserializationConfig config, Class<?> enumClass, AnnotatedClass annotatedClass) Deprecated.Since 2.16: useconstructEnumNamingStrategyResolver(DeserializationConfig, AnnotatedClass)instead.protected EnumResolverconstructEnumResolver(Class<?> enumClass, DeserializationConfig config, BeanDescription beanDesc) createArrayDeserializer(DeserializationContext ctxt, ArrayType type, BeanDescription beanDesc) Method called to create (or, for completely immutable deserializers, reuse) a deserializer that can convert JSON content into values of specified Java type.createCollectionDeserializer(DeserializationContext ctxt, CollectionType type, BeanDescription beanDesc) createCollectionLikeDeserializer(DeserializationContext ctxt, CollectionLikeType type, BeanDescription beanDesc) createEnumDeserializer(DeserializationContext ctxt, JavaType type, BeanDescription beanDesc) Factory method for constructing deserializers ofEnumtypes.createKeyDeserializer(DeserializationContext ctxt, JavaType type) Method called to find if factory knows how to create a key deserializer for specified type; currently this means checking if a module has registered possible deserializers.createMapDeserializer(DeserializationContext ctxt, MapType type, BeanDescription beanDesc) createMapLikeDeserializer(DeserializationContext ctxt, MapLikeType type, BeanDescription beanDesc) createReferenceDeserializer(DeserializationContext ctxt, ReferenceType type, BeanDescription beanDesc) createTreeDeserializer(DeserializationConfig config, JavaType nodeType, BeanDescription beanDesc) Method called to create and return a deserializer that can construct JsonNode(s) from JSON content.protected JsonDeserializer<Object> findDefaultDeserializer(DeserializationContext ctxt, JavaType type, BeanDescription beanDesc) Helper method called to find one of default deserializers for "well-known" platform types: JDK-provided types, and small number of public Jackson API types.protected JsonDeserializer<Object> Helper method called to check if a class or method has annotation that tells which class to use for deserialization; and if so, to instantiate, that deserializer to use.protected KeyDeserializerHelper method called to check if a class or method has annotation that tells which class to use for deserialization ofMapkeys.protected JsonDeserializer<?> findOptionalStdDeserializer(DeserializationContext ctxt, JavaType type, BeanDescription beanDesc) Overridable method called after checking all other types.findPropertyContentTypeDeserializer(DeserializationConfig config, JavaType containerType, AnnotatedMember propertyEntity) Method called to find and create a type information deserializer for values of given container (list, array, map) property, if one is needed.findPropertyTypeDeserializer(DeserializationConfig config, JavaType baseType, AnnotatedMember annotated) Method called to create a type information deserializer for values of given non-container property, if one is needed.findTypeDeserializer(DeserializationConfig config, JavaType baseType) Method called to find and create a type information deserializer for given base type, if one is needed.findValueInstantiator(DeserializationContext ctxt, BeanDescription beanDesc) Value instantiator is created both based on creator annotations, and on optional externally provided instantiators (registered through module interface).Method for getting currentDeserializerFactoryConfig.booleanhasExplicitDeserializerFor(DeserializationConfig config, Class<?> valueType) Method that can be used to check if databind module has explicitly declared deserializer for given (likely JDK) type, explicit meaning that there is specific deserializer for given type as opposed to auto-generated "Bean" deserializer.mapAbstractType(DeserializationConfig config, JavaType type) Method that can be called to try to resolve an abstract type (interface, abstract class) into a concrete type, or at least something "more concrete" (abstract class instead of interface).protected JavaTypemodifyTypeByAnnotation(DeserializationContext ctxt, Annotated a, JavaType type) Deprecated.Since 2.8; callresolveMemberAndTypeAnnotations(DeserializationContext, AnnotatedMember, JavaType)insteadprotected JavaTyperesolveMemberAndTypeAnnotations(DeserializationContext ctxt, AnnotatedMember member, JavaType type) Helper method used to resolve additional type-related annotation information like type overrides, or handler (serializer, deserializer) overrides, so that from declared field, property or constructor parameter type is used as the base and modified based on annotations, if any.protected JavaTyperesolveType(DeserializationContext ctxt, BeanDescription beanDesc, JavaType type, AnnotatedMember member) Deprecated.since 2.8 callresolveMemberAndTypeAnnotations(DeserializationContext, AnnotatedMember, JavaType)instead.final DeserializerFactorywithAbstractTypeResolver(AbstractTypeResolver resolver) Convenience method for creating a new factory instance with additionalAbstractTypeResolver.final DeserializerFactorywithAdditionalDeserializers(Deserializers additional) Convenience method for creating a new factory instance with additional deserializer provider.final DeserializerFactorywithAdditionalKeyDeserializers(KeyDeserializers additional) Convenience method for creating a new factory instance with additionalKeyDeserializers.protected abstract DeserializerFactorywithConfig(DeserializerFactoryConfig config) final DeserializerFactoryConvenience method for creating a new factory instance with additionalBeanDeserializerModifier.final DeserializerFactorywithValueInstantiators(ValueInstantiators instantiators) Convenience method for creating a new factory instance with additionalValueInstantiators.Methods inherited from class DeserializerFactory
createBeanDeserializer, createBuilderBasedDeserializer
-
Field Details
-
UNWRAPPED_CREATOR_PARAM_NAME
We need a placeholder for creator properties that don't have name but are marked with `@JsonWrapped` annotation. -
_factoryConfig
Configuration settings for this factory; immutable instance (just like this factory), new version created via copy-constructor (fluent-style)
-
-
Constructor Details
-
BasicDeserializerFactory
-
-
Method Details
-
getFactoryConfig
Method for getting currentDeserializerFactoryConfig.Note that since instances are immutable, you can NOT change settings by accessing an instance and calling methods: this will simply create new instance of config object.
-
withConfig
-
withAdditionalDeserializers
Convenience method for creating a new factory instance with additional deserializer provider.- Specified by:
withAdditionalDeserializersin classDeserializerFactory
-
withAdditionalKeyDeserializers
Convenience method for creating a new factory instance with additionalKeyDeserializers.- Specified by:
withAdditionalKeyDeserializersin classDeserializerFactory
-
withDeserializerModifier
Convenience method for creating a new factory instance with additionalBeanDeserializerModifier.- Specified by:
withDeserializerModifierin classDeserializerFactory
-
withAbstractTypeResolver
Convenience method for creating a new factory instance with additionalAbstractTypeResolver.- Specified by:
withAbstractTypeResolverin classDeserializerFactory
-
withValueInstantiators
Convenience method for creating a new factory instance with additionalValueInstantiators.- Specified by:
withValueInstantiatorsin classDeserializerFactory
-
mapAbstractType
public JavaType mapAbstractType(DeserializationConfig config, JavaType type) throws JsonMappingException Description copied from class:DeserializerFactoryMethod that can be called to try to resolve an abstract type (interface, abstract class) into a concrete type, or at least something "more concrete" (abstract class instead of interface). Will either return passed type, or a more specific type.- Specified by:
mapAbstractTypein classDeserializerFactory- Throws:
JsonMappingException
-
findValueInstantiator
public ValueInstantiator findValueInstantiator(DeserializationContext ctxt, BeanDescription beanDesc) throws JsonMappingException Value instantiator is created both based on creator annotations, and on optional externally provided instantiators (registered through module interface).- Specified by:
findValueInstantiatorin classDeserializerFactory- Throws:
JsonMappingException
-
_constructDefaultValueInstantiator
protected ValueInstantiator _constructDefaultValueInstantiator(DeserializationContext ctxt, BeanDescription beanDesc) throws JsonMappingException Method that will construct standard defaultValueInstantiatorusing annotations (like @JsonCreator) and visibility rules- Throws:
JsonMappingException
-
_findCreatorsFromProperties
protected Map<AnnotatedWithParams, BeanPropertyDefinition[]> _findCreatorsFromProperties(DeserializationContext ctxt, BeanDescription beanDesc) throws JsonMappingException - Throws:
JsonMappingException
-
_valueInstantiatorInstance
public ValueInstantiator _valueInstantiatorInstance(DeserializationConfig config, Annotated annotated, Object instDef) throws JsonMappingException - Throws:
JsonMappingException
-
_addRecordConstructor
@Deprecated protected void _addRecordConstructor(DeserializationContext ctxt, BasicDeserializerFactory.CreatorCollectionState ccState, AnnotatedConstructor canonical, List<String> implicitNames) throws JsonMappingException Deprecated.since 2.15 - no longer used, but kept because this protected method might have been overridden/used elsewhereHelper method called when ajava.lang.Recorddefinition's "canonical" constructor is to be used: if so, we have implicit names to consider.- Throws:
JsonMappingException- Since:
- 2.12
-
_addExplicitConstructorCreators
protected void _addExplicitConstructorCreators(DeserializationContext ctxt, BasicDeserializerFactory.CreatorCollectionState ccState, boolean findImplicit) throws JsonMappingException - Throws:
JsonMappingException
-
_addImplicitConstructorCreators
protected void _addImplicitConstructorCreators(DeserializationContext ctxt, BasicDeserializerFactory.CreatorCollectionState ccState, List<CreatorCandidate> ctorCandidates) throws JsonMappingException - Throws:
JsonMappingException
-
_addExplicitFactoryCreators
protected void _addExplicitFactoryCreators(DeserializationContext ctxt, BasicDeserializerFactory.CreatorCollectionState ccState, boolean findImplicit) throws JsonMappingException - Throws:
JsonMappingException
-
_addImplicitFactoryCreators
protected void _addImplicitFactoryCreators(DeserializationContext ctxt, BasicDeserializerFactory.CreatorCollectionState ccState, List<CreatorCandidate> factoryCandidates) throws JsonMappingException - Throws:
JsonMappingException
-
_addExplicitDelegatingCreator
protected void _addExplicitDelegatingCreator(DeserializationContext ctxt, BeanDescription beanDesc, CreatorCollector creators, CreatorCandidate candidate) throws JsonMappingException Helper method called when there is the explicit "is-creator" with mode of "delegating"- Throws:
JsonMappingException- Since:
- 2.9.2
-
_addExplicitPropertyCreator
protected void _addExplicitPropertyCreator(DeserializationContext ctxt, BeanDescription beanDesc, CreatorCollector creators, CreatorCandidate candidate) throws JsonMappingException Helper method called when there is the explicit "is-creator" annotation with mode of "properties-based"- Throws:
JsonMappingException- Since:
- 2.9.2
-
_addExplicitAnyCreator
@Deprecated protected void _addExplicitAnyCreator(DeserializationContext ctxt, BeanDescription beanDesc, CreatorCollector creators, CreatorCandidate candidate) throws JsonMappingException Deprecated.- Throws:
JsonMappingException
-
_addExplicitAnyCreator
protected void _addExplicitAnyCreator(DeserializationContext ctxt, BeanDescription beanDesc, CreatorCollector creators, CreatorCandidate candidate, ConstructorDetector ctorDetector) throws JsonMappingException Helper method called when there is explicit "is-creator" marker, but no mode declaration.- Throws:
JsonMappingException- Since:
- 2.12
-
_handleSingleArgumentCreator
protected boolean _handleSingleArgumentCreator(CreatorCollector creators, AnnotatedWithParams ctor, boolean isCreator, boolean isVisible) -
_validateNamedPropertyParameter
protected void _validateNamedPropertyParameter(DeserializationContext ctxt, BeanDescription beanDesc, CreatorCandidate candidate, int paramIndex, PropertyName name, com.fasterxml.jackson.annotation.JacksonInject.Value injectId) throws JsonMappingException - Throws:
JsonMappingException
-
_reportUnwrappedCreatorProperty
protected void _reportUnwrappedCreatorProperty(DeserializationContext ctxt, BeanDescription beanDesc, AnnotatedParameter param) throws JsonMappingException - Throws:
JsonMappingException
-
constructCreatorProperty
protected SettableBeanProperty constructCreatorProperty(DeserializationContext ctxt, BeanDescription beanDesc, PropertyName name, int index, AnnotatedParameter param, com.fasterxml.jackson.annotation.JacksonInject.Value injectable) throws JsonMappingException Method that will construct a property object that represents a logical property passed via Creator (constructor or static factory method)- Throws:
JsonMappingException
-
_getSetterInfo
protected PropertyMetadata _getSetterInfo(DeserializationContext ctxt, BeanProperty prop, PropertyMetadata metadata) Helper method copied fromPOJOPropertyBuildersince that won't be applied to creator parameters- Since:
- 2.10
-
createArrayDeserializer
public JsonDeserializer<?> createArrayDeserializer(DeserializationContext ctxt, ArrayType type, BeanDescription beanDesc) throws JsonMappingException Description copied from class:DeserializerFactoryMethod called to create (or, for completely immutable deserializers, reuse) a deserializer that can convert JSON content into values of specified Java type.- Specified by:
createArrayDeserializerin classDeserializerFactory- Parameters:
type- Type to be deserialized- Throws:
JsonMappingException
-
createCollectionDeserializer
public JsonDeserializer<?> createCollectionDeserializer(DeserializationContext ctxt, CollectionType type, BeanDescription beanDesc) throws JsonMappingException - Specified by:
createCollectionDeserializerin classDeserializerFactory- Throws:
JsonMappingException
-
_mapAbstractCollectionType
-
createCollectionLikeDeserializer
public JsonDeserializer<?> createCollectionLikeDeserializer(DeserializationContext ctxt, CollectionLikeType type, BeanDescription beanDesc) throws JsonMappingException - Specified by:
createCollectionLikeDeserializerin classDeserializerFactory- Throws:
JsonMappingException
-
createMapDeserializer
public JsonDeserializer<?> createMapDeserializer(DeserializationContext ctxt, MapType type, BeanDescription beanDesc) throws JsonMappingException - Specified by:
createMapDeserializerin classDeserializerFactory- Throws:
JsonMappingException
-
_mapAbstractMapType
-
createMapLikeDeserializer
public JsonDeserializer<?> createMapLikeDeserializer(DeserializationContext ctxt, MapLikeType type, BeanDescription beanDesc) throws JsonMappingException - Specified by:
createMapLikeDeserializerin classDeserializerFactory- Throws:
JsonMappingException
-
createEnumDeserializer
public JsonDeserializer<?> createEnumDeserializer(DeserializationContext ctxt, JavaType type, BeanDescription beanDesc) throws JsonMappingException Factory method for constructing deserializers ofEnumtypes.- Specified by:
createEnumDeserializerin classDeserializerFactory- Throws:
JsonMappingException
-
createTreeDeserializer
public JsonDeserializer<?> createTreeDeserializer(DeserializationConfig config, JavaType nodeType, BeanDescription beanDesc) throws JsonMappingException Description copied from class:DeserializerFactoryMethod called to create and return a deserializer that can construct JsonNode(s) from JSON content.- Specified by:
createTreeDeserializerin classDeserializerFactory- Throws:
JsonMappingException
-
createReferenceDeserializer
public JsonDeserializer<?> createReferenceDeserializer(DeserializationContext ctxt, ReferenceType type, BeanDescription beanDesc) throws JsonMappingException - Specified by:
createReferenceDeserializerin classDeserializerFactory- Throws:
JsonMappingException
-
findTypeDeserializer
public TypeDeserializer findTypeDeserializer(DeserializationConfig config, JavaType baseType) throws JsonMappingException Description copied from class:DeserializerFactoryMethod called to find and create a type information deserializer for given base type, if one is needed. If not needed (no polymorphic handling configured for type), should return null.Note that this method is usually only directly called for values of container (Collection, array, Map) types and root values, but not for bean property values.
- Specified by:
findTypeDeserializerin classDeserializerFactory- Parameters:
baseType- Declared base type of the value to deserializer (actual deserializer type will be this type or its subtype)- Returns:
- Type deserializer to use for given base type, if one is needed; null if not.
- Throws:
JsonMappingException
-
findOptionalStdDeserializer
protected JsonDeserializer<?> findOptionalStdDeserializer(DeserializationContext ctxt, JavaType type, BeanDescription beanDesc) throws JsonMappingException Overridable method called after checking all other types.- Throws:
JsonMappingException- Since:
- 2.2
-
createKeyDeserializer
public KeyDeserializer createKeyDeserializer(DeserializationContext ctxt, JavaType type) throws JsonMappingException Description copied from class:DeserializerFactoryMethod called to find if factory knows how to create a key deserializer for specified type; currently this means checking if a module has registered possible deserializers.- Specified by:
createKeyDeserializerin classDeserializerFactory- Returns:
- Key deserializer to use for specified type, if one found; null if not (and default key deserializer should be used)
- Throws:
JsonMappingException
-
hasExplicitDeserializerFor
Description copied from class:DeserializerFactoryMethod that can be used to check if databind module has explicitly declared deserializer for given (likely JDK) type, explicit meaning that there is specific deserializer for given type as opposed to auto-generated "Bean" deserializer. Factory itself will check for known JDK-provided types, but registeredModules are also called to see if they might provide explicit deserializer.Main use for this method is with Safe Default Typing (and generally Safe Polymorphic Deserialization), during which it is good to be able to check that given raw type is explicitly supported and as such "known type" (as opposed to potentially dangerous "gadget type" which could be exploited).
This matches
Deserializers.Base.hasDeserializerFor(Class)method, which is the mechanism used to determine if aModulemight provide an explicit deserializer instead of core databind.- Specified by:
hasExplicitDeserializerForin classDeserializerFactory
-
findPropertyTypeDeserializer
public TypeDeserializer findPropertyTypeDeserializer(DeserializationConfig config, JavaType baseType, AnnotatedMember annotated) throws JsonMappingException Method called to create a type information deserializer for values of given non-container property, if one is needed. If not needed (no polymorphic handling configured for property), should return null.Note that this method is only called for non-container bean properties, and not for values in container types or root values (or container properties)
- Parameters:
baseType- Declared base type of the value to deserializer (actual deserializer type will be this type or its subtype)- Returns:
- Type deserializer to use for given base type, if one is needed; null if not.
- Throws:
JsonMappingException
-
findPropertyContentTypeDeserializer
public TypeDeserializer findPropertyContentTypeDeserializer(DeserializationConfig config, JavaType containerType, AnnotatedMember propertyEntity) throws JsonMappingException Method called to find and create a type information deserializer for values of given container (list, array, map) property, if one is needed. If not needed (no polymorphic handling configured for property), should return null.Note that this method is only called for container bean properties, and not for values in container types or root values (or non-container properties)
- Parameters:
containerType- Type of property; must be a container typepropertyEntity- Field or method that contains container property- Throws:
JsonMappingException
-
findDefaultDeserializer
public JsonDeserializer<?> findDefaultDeserializer(DeserializationContext ctxt, JavaType type, BeanDescription beanDesc) throws JsonMappingException Helper method called to find one of default deserializers for "well-known" platform types: JDK-provided types, and small number of public Jackson API types.- Throws:
JsonMappingException- Since:
- 2.2
-
_findRemappedType
protected JavaType _findRemappedType(DeserializationConfig config, Class<?> rawType) throws JsonMappingException - Throws:
JsonMappingException
-
_findCustomTreeNodeDeserializer
protected JsonDeserializer<?> _findCustomTreeNodeDeserializer(Class<? extends JsonNode> type, DeserializationConfig config, BeanDescription beanDesc) throws JsonMappingException - Throws:
JsonMappingException
-
_findCustomReferenceDeserializer
protected JsonDeserializer<?> _findCustomReferenceDeserializer(ReferenceType type, DeserializationConfig config, BeanDescription beanDesc, TypeDeserializer contentTypeDeserializer, JsonDeserializer<?> contentDeserializer) throws JsonMappingException - Throws:
JsonMappingException
-
_findCustomBeanDeserializer
protected JsonDeserializer<Object> _findCustomBeanDeserializer(JavaType type, DeserializationConfig config, BeanDescription beanDesc) throws JsonMappingException - Throws:
JsonMappingException
-
_findCustomArrayDeserializer
protected JsonDeserializer<?> _findCustomArrayDeserializer(ArrayType type, DeserializationConfig config, BeanDescription beanDesc, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer) throws JsonMappingException - Throws:
JsonMappingException
-
_findCustomCollectionDeserializer
protected JsonDeserializer<?> _findCustomCollectionDeserializer(CollectionType type, DeserializationConfig config, BeanDescription beanDesc, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer) throws JsonMappingException - Throws:
JsonMappingException
-
_findCustomCollectionLikeDeserializer
protected JsonDeserializer<?> _findCustomCollectionLikeDeserializer(CollectionLikeType type, DeserializationConfig config, BeanDescription beanDesc, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer) throws JsonMappingException - Throws:
JsonMappingException
-
_findCustomEnumDeserializer
protected JsonDeserializer<?> _findCustomEnumDeserializer(Class<?> type, DeserializationConfig config, BeanDescription beanDesc) throws JsonMappingException - Throws:
JsonMappingException
-
_findCustomMapDeserializer
protected JsonDeserializer<?> _findCustomMapDeserializer(MapType type, DeserializationConfig config, BeanDescription beanDesc, KeyDeserializer keyDeserializer, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer) throws JsonMappingException - Throws:
JsonMappingException
-
_findCustomMapLikeDeserializer
protected JsonDeserializer<?> _findCustomMapLikeDeserializer(MapLikeType type, DeserializationConfig config, BeanDescription beanDesc, KeyDeserializer keyDeserializer, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer) throws JsonMappingException - Throws:
JsonMappingException
-
findDeserializerFromAnnotation
protected JsonDeserializer<Object> findDeserializerFromAnnotation(DeserializationContext ctxt, Annotated ann) throws JsonMappingException Helper method called to check if a class or method has annotation that tells which class to use for deserialization; and if so, to instantiate, that deserializer to use. Note that deserializer will NOT yet be contextualized so caller needs to take care to call contextualization appropriately. Returns null if no such annotation found.- Throws:
JsonMappingException
-
findKeyDeserializerFromAnnotation
protected KeyDeserializer findKeyDeserializerFromAnnotation(DeserializationContext ctxt, Annotated ann) throws JsonMappingException Helper method called to check if a class or method has annotation that tells which class to use for deserialization ofMapkeys. Returns null if no such annotation found.- Throws:
JsonMappingException
-
findContentDeserializerFromAnnotation
protected JsonDeserializer<Object> findContentDeserializerFromAnnotation(DeserializationContext ctxt, Annotated ann) throws JsonMappingException - Throws:
JsonMappingException- Since:
- 2.9
-
resolveMemberAndTypeAnnotations
protected JavaType resolveMemberAndTypeAnnotations(DeserializationContext ctxt, AnnotatedMember member, JavaType type) throws JsonMappingException Helper method used to resolve additional type-related annotation information like type overrides, or handler (serializer, deserializer) overrides, so that from declared field, property or constructor parameter type is used as the base and modified based on annotations, if any.- Throws:
JsonMappingException- Since:
- 2.8 Combines functionality of
modifyTypeByAnnotationandresolveType
-
constructEnumResolver
protected EnumResolver constructEnumResolver(Class<?> enumClass, DeserializationConfig config, BeanDescription beanDesc) -
constructEnumNamingStrategyResolver
protected EnumResolver constructEnumNamingStrategyResolver(DeserializationConfig config, AnnotatedClass annotatedClass) Factory method used to resolve an instance ofCompactStringObjectMapwithEnumNamingStrategyapplied for the target class.- Since:
- 2.16
-
constructEnumNamingStrategyResolver
@Deprecated protected EnumResolver constructEnumNamingStrategyResolver(DeserializationConfig config, Class<?> enumClass, AnnotatedClass annotatedClass) Deprecated.Since 2.16: useconstructEnumNamingStrategyResolver(DeserializationConfig, AnnotatedClass)instead.Factory method used to resolve an instance ofCompactStringObjectMapwithEnumNamingStrategyapplied for the target class.- Since:
- 2.15
-
_hasCreatorAnnotation
- Since:
- 2.9
-
modifyTypeByAnnotation
@Deprecated protected JavaType modifyTypeByAnnotation(DeserializationContext ctxt, Annotated a, JavaType type) throws JsonMappingException Deprecated.Since 2.8; callresolveMemberAndTypeAnnotations(DeserializationContext, AnnotatedMember, JavaType)insteadMethod called to see if given method has annotations that indicate a more specific type than what the argument specifies.- Throws:
JsonMappingException
-
resolveType
@Deprecated protected JavaType resolveType(DeserializationContext ctxt, BeanDescription beanDesc, JavaType type, AnnotatedMember member) throws JsonMappingException Deprecated.since 2.8 callresolveMemberAndTypeAnnotations(DeserializationContext, AnnotatedMember, JavaType)instead.- Throws:
JsonMappingException
-
_findJsonValueFor
@Deprecated protected AnnotatedMethod _findJsonValueFor(DeserializationConfig config, JavaType enumType) Deprecated.since 2.8 callfindJsonValueMethodonBeanDescriptioninstead
-