public abstract class BasicDeserializerFactory extends DeserializerFactory implements Serializable
Collection
).
Since all simple deserializers are eagerly instantiated, and there is no additional introspection or customizability of these types, this factory is stateless.
Modifier and Type | Field and Description |
---|---|
protected DeserializerFactoryConfig |
_factoryConfig
Configuration settings for this factory; immutable instance (just like this
factory), new version created via copy-constructor (fluent-style)
|
protected static PropertyName |
UNWRAPPED_CREATOR_PARAM_NAME
We need a placeholder for creator properties that don't have name
but are marked with `@JsonWrapped` annotation.
|
NO_DESERIALIZERS
Modifier | Constructor and Description |
---|---|
protected |
BasicDeserializerFactory(DeserializerFactoryConfig config) |
createBeanDeserializer, createBuilderBasedDeserializer
protected static final PropertyName UNWRAPPED_CREATOR_PARAM_NAME
protected final DeserializerFactoryConfig _factoryConfig
protected BasicDeserializerFactory(DeserializerFactoryConfig config)
public DeserializerFactoryConfig getFactoryConfig()
DeserializerFactoryConfig
.
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.
protected abstract DeserializerFactory withConfig(DeserializerFactoryConfig config)
public final DeserializerFactory withAdditionalDeserializers(Deserializers additional)
withAdditionalDeserializers
in class DeserializerFactory
public final DeserializerFactory withAdditionalKeyDeserializers(KeyDeserializers additional)
KeyDeserializers
.withAdditionalKeyDeserializers
in class DeserializerFactory
public final DeserializerFactory withDeserializerModifier(BeanDeserializerModifier modifier)
BeanDeserializerModifier
.withDeserializerModifier
in class DeserializerFactory
public final DeserializerFactory withAbstractTypeResolver(AbstractTypeResolver resolver)
AbstractTypeResolver
.withAbstractTypeResolver
in class DeserializerFactory
public final DeserializerFactory withValueInstantiators(ValueInstantiators instantiators)
ValueInstantiators
.withValueInstantiators
in class DeserializerFactory
public JavaType mapAbstractType(DeserializationConfig config, JavaType type) throws JsonMappingException
DeserializerFactory
mapAbstractType
in class DeserializerFactory
JsonMappingException
public ValueInstantiator findValueInstantiator(DeserializationContext ctxt, BeanDescription beanDesc) throws JsonMappingException
findValueInstantiator
in class DeserializerFactory
JsonMappingException
protected ValueInstantiator _constructDefaultValueInstantiator(DeserializationContext ctxt, BeanDescription beanDesc) throws JsonMappingException
ValueInstantiator
using annotations (like @JsonCreator) and visibility rulesJsonMappingException
protected Map<AnnotatedWithParams,BeanPropertyDefinition[]> _findCreatorsFromProperties(DeserializationContext ctxt, BeanDescription beanDesc) throws JsonMappingException
JsonMappingException
public ValueInstantiator _valueInstantiatorInstance(DeserializationConfig config, Annotated annotated, Object instDef) throws JsonMappingException
JsonMappingException
protected void _addDeserializerConstructors(DeserializationContext ctxt, BeanDescription beanDesc, VisibilityChecker<?> vchecker, AnnotationIntrospector intr, CreatorCollector creators, Map<AnnotatedWithParams,BeanPropertyDefinition[]> creatorParams) throws JsonMappingException
JsonMappingException
protected void _checkImplicitlyNamedConstructors(DeserializationContext ctxt, BeanDescription beanDesc, VisibilityChecker<?> vchecker, AnnotationIntrospector intr, CreatorCollector creators, List<AnnotatedConstructor> implicitCtors) throws JsonMappingException
JsonMappingException
protected boolean _checkIfCreatorPropertyBased(AnnotationIntrospector intr, AnnotatedWithParams creator, BeanPropertyDefinition propDef)
protected boolean _handleSingleArgumentConstructor(DeserializationContext ctxt, BeanDescription beanDesc, VisibilityChecker<?> vchecker, AnnotationIntrospector intr, CreatorCollector creators, AnnotatedConstructor ctor, boolean isCreator, boolean isVisible) throws JsonMappingException
JsonMappingException
protected void _addDeserializerFactoryMethods(DeserializationContext ctxt, BeanDescription beanDesc, VisibilityChecker<?> vchecker, AnnotationIntrospector intr, CreatorCollector creators, Map<AnnotatedWithParams,BeanPropertyDefinition[]> creatorParams) throws JsonMappingException
JsonMappingException
protected boolean _handleSingleArgumentFactory(DeserializationConfig config, BeanDescription beanDesc, VisibilityChecker<?> vchecker, AnnotationIntrospector intr, CreatorCollector creators, AnnotatedMethod factory, boolean isCreator) throws JsonMappingException
JsonMappingException
protected CreatorProperty constructCreatorProperty(DeserializationContext ctxt, BeanDescription beanDesc, PropertyName name, int index, AnnotatedParameter param, Object injectableValueId) throws JsonMappingException
JsonMappingException
protected PropertyName _findParamName(AnnotatedParameter param, AnnotationIntrospector intr)
protected PropertyName _findImplicitParamName(AnnotatedParameter param, AnnotationIntrospector intr)
@Deprecated protected PropertyName _findExplicitParamName(AnnotatedParameter param, AnnotationIntrospector intr)
@Deprecated protected boolean _hasExplicitParamName(AnnotatedParameter param, AnnotationIntrospector intr)
public JsonDeserializer<?> createArrayDeserializer(DeserializationContext ctxt, ArrayType type, BeanDescription beanDesc) throws JsonMappingException
DeserializerFactory
createArrayDeserializer
in class DeserializerFactory
type
- Type to be deserializedJsonMappingException
public JsonDeserializer<?> createCollectionDeserializer(DeserializationContext ctxt, CollectionType type, BeanDescription beanDesc) throws JsonMappingException
createCollectionDeserializer
in class DeserializerFactory
JsonMappingException
protected CollectionType _mapAbstractCollectionType(JavaType type, DeserializationConfig config)
public JsonDeserializer<?> createCollectionLikeDeserializer(DeserializationContext ctxt, CollectionLikeType type, BeanDescription beanDesc) throws JsonMappingException
createCollectionLikeDeserializer
in class DeserializerFactory
JsonMappingException
public JsonDeserializer<?> createMapDeserializer(DeserializationContext ctxt, MapType type, BeanDescription beanDesc) throws JsonMappingException
createMapDeserializer
in class DeserializerFactory
JsonMappingException
public JsonDeserializer<?> createMapLikeDeserializer(DeserializationContext ctxt, MapLikeType type, BeanDescription beanDesc) throws JsonMappingException
createMapLikeDeserializer
in class DeserializerFactory
JsonMappingException
public JsonDeserializer<?> createEnumDeserializer(DeserializationContext ctxt, JavaType type, BeanDescription beanDesc) throws JsonMappingException
Enum
types.createEnumDeserializer
in class DeserializerFactory
JsonMappingException
public JsonDeserializer<?> createTreeDeserializer(DeserializationConfig config, JavaType nodeType, BeanDescription beanDesc) throws JsonMappingException
DeserializerFactory
createTreeDeserializer
in class DeserializerFactory
JsonMappingException
public TypeDeserializer findTypeDeserializer(DeserializationConfig config, JavaType baseType) throws JsonMappingException
DeserializerFactory
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.
findTypeDeserializer
in class DeserializerFactory
baseType
- Declared base type of the value to deserializer (actual
deserializer type will be this type or its subtype)JsonMappingException
protected JsonDeserializer<?> findOptionalStdDeserializer(DeserializationContext ctxt, JavaType type, BeanDescription beanDesc) throws JsonMappingException
JsonMappingException
public KeyDeserializer createKeyDeserializer(DeserializationContext ctxt, JavaType type) throws JsonMappingException
DeserializerFactory
createKeyDeserializer
in class DeserializerFactory
JsonMappingException
public TypeDeserializer findPropertyTypeDeserializer(DeserializationConfig config, JavaType baseType, AnnotatedMember annotated) throws JsonMappingException
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)
baseType
- Declared base type of the value to deserializer (actual
deserializer type will be this type or its subtype)JsonMappingException
public TypeDeserializer findPropertyContentTypeDeserializer(DeserializationConfig config, JavaType containerType, AnnotatedMember propertyEntity) throws JsonMappingException
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)
containerType
- Type of property; must be a container typepropertyEntity
- Field or method that contains container propertyJsonMappingException
public JsonDeserializer<?> findDefaultDeserializer(DeserializationContext ctxt, JavaType type, BeanDescription beanDesc) throws JsonMappingException
JsonMappingException
protected JavaType _findRemappedType(DeserializationConfig config, Class<?> rawType) throws JsonMappingException
JsonMappingException
protected JsonDeserializer<?> _findCustomArrayDeserializer(ArrayType type, DeserializationConfig config, BeanDescription beanDesc, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer) throws JsonMappingException
JsonMappingException
protected JsonDeserializer<Object> _findCustomBeanDeserializer(JavaType type, DeserializationConfig config, BeanDescription beanDesc) throws JsonMappingException
JsonMappingException
protected JsonDeserializer<?> _findCustomCollectionDeserializer(CollectionType type, DeserializationConfig config, BeanDescription beanDesc, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer) throws JsonMappingException
JsonMappingException
protected JsonDeserializer<?> _findCustomCollectionLikeDeserializer(CollectionLikeType type, DeserializationConfig config, BeanDescription beanDesc, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer) throws JsonMappingException
JsonMappingException
protected JsonDeserializer<?> _findCustomEnumDeserializer(Class<?> type, DeserializationConfig config, BeanDescription beanDesc) throws JsonMappingException
JsonMappingException
protected JsonDeserializer<?> _findCustomMapDeserializer(MapType type, DeserializationConfig config, BeanDescription beanDesc, KeyDeserializer keyDeserializer, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer) throws JsonMappingException
JsonMappingException
protected JsonDeserializer<?> _findCustomMapLikeDeserializer(MapLikeType type, DeserializationConfig config, BeanDescription beanDesc, KeyDeserializer keyDeserializer, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer) throws JsonMappingException
JsonMappingException
protected JsonDeserializer<?> _findCustomTreeNodeDeserializer(Class<? extends JsonNode> type, DeserializationConfig config, BeanDescription beanDesc) throws JsonMappingException
JsonMappingException
protected JsonDeserializer<Object> findDeserializerFromAnnotation(DeserializationContext ctxt, Annotated ann) throws JsonMappingException
JsonMappingException
protected <T extends JavaType> T modifyTypeByAnnotation(DeserializationContext ctxt, Annotated a, T type) throws JsonMappingException
a
- Method or field that the type is associated withtype
- Type of field, or the setter argumentJsonMappingException
- if invalid annotation is foundprotected JavaType resolveType(DeserializationContext ctxt, BeanDescription beanDesc, JavaType type, AnnotatedMember member) throws JsonMappingException
JsonMappingException
protected EnumResolver constructEnumResolver(Class<?> enumClass, DeserializationConfig config, AnnotatedMethod jsonValueMethod)
protected AnnotatedMethod _findJsonValueFor(DeserializationConfig config, JavaType enumType)
Copyright © 2014–2015 FasterXML. All rights reserved.