Top Description Inners Fields Constructors Methods
tools.jackson.databind.deser

public abstract Class BasicDeserializerFactory

extends DeserializerFactory
implements Serializable
Class Inheritance
All Implemented Interfaces
java.io.Serializable
Known Direct Subclasses
tools.jackson.databind.deser.BeanDeserializerFactory
Annotations
@SuppressWarnings:serial
Imports
java.io.Serializable, java.math.BigDecimal, .BigInteger, java.util.*, java.util.concurrent.*, java.util.concurrent.atomic.AtomicReference, com.fasterxml.jackson.annotation.*, tools.jackson.databind.*, tools.jackson.databind.cfg.*, tools.jackson.databind.deser.bean.CreatorCandidate, .CreatorCollector, tools.jackson.databind.deser.impl.UnwrappedPropertyHandler, tools.jackson.databind.deser.jackson.JsonNodeDeserializer, .TokenBufferDeserializer, tools.jackson.databind.deser.jdk.*, tools.jackson.databind.ext.OptionalHandlerFactory, tools.jackson.databind.ext.jdk8.Jdk8OptionalDeserializer, .OptionalDoubleDeserializer, .OptionalIntDeserializer, .OptionalLongDeserializer, tools.jackson.databind.introspect.*, tools.jackson.databind.jsontype.TypeDeserializer, tools.jackson.databind.type.*, tools.jackson.databind.util.*

Abstract factory base class that can provide deserializers for standard JDK classes, including collection classes and simple heuristics for "up-casting" common collection interface types (such as java.util.Collection).

Since all simple deserializers are eagerly instantiated, and there is no additional introspection or customizability of these types, this factory is stateless.

Nested and Inner Type Summary

Modifier and TypeClass and Description
protected static class
BasicDeserializerFactory.ContainerDefaultMappings

Helper class to contain default mappings for abstract JDK java.util.Collection and java.util.Map types.

Field Summary

Modifier and TypeField and Description
protected final DeserializerFactoryConfig
_factoryConfig

Configuration settings for this factory; immutable instance (just like this factory), new version created via copy-constructor (fluent-style)

private static final Class<?>
private static final Class<?>
private static final Class<?>
private static final Class<?>
private static final Class<?>
private static final Class<?>
Inherited from tools.jackson.databind.deser.DeserializerFactory:
NO_DESERIALIZERS

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
private boolean
_addExplicitDelegatingCreator(DeserializationContext ctxt, BeanDescription.Supplier beanDescRef, CreatorCollector creators, CreatorCandidate candidate)

Helper method called when there is the explicit "is-creator" with mode of "delegating"

private boolean
private void
private void
private void
_addSelectedPropertiesBasedCreator(DeserializationContext ctxt, BeanDescription.Supplier beanDescRef, CreatorCollector creators, CreatorCandidate candidate)

Helper method called to add the single chosen "properties-based" Creator (if any).

protected ValueInstantiator
_constructDefaultValueInstantiator(DeserializationContext ctxt, BeanDescription.Supplier beanDescRef)

Method that will construct standard default ValueInstantiator using annotations (like @JsonCreator) and visibility rules

private KeyDeserializer
protected ValueDeserializer<?>
_findCustomArrayDeserializer(ArrayType type, DeserializationConfig config, BeanDescription.Supplier beanDescRef, TypeDeserializer elementTypeDeserializer, ValueDeserializer<?> elementDeserializer)

protected ValueDeserializer<Object>
protected ValueDeserializer<?>
_findCustomCollectionDeserializer(CollectionType type, DeserializationConfig config, BeanDescription.Supplier beanDescRef, TypeDeserializer elementTypeDeserializer, ValueDeserializer<?> elementDeserializer)

protected ValueDeserializer<?>
protected ValueDeserializer<?>
protected ValueDeserializer<?>
_findCustomMapDeserializer(MapType type, DeserializationConfig config, BeanDescription.Supplier beanDescRef, KeyDeserializer keyDeserializer, TypeDeserializer elementTypeDeserializer, ValueDeserializer<?> elementDeserializer)

protected ValueDeserializer<?>
_findCustomMapLikeDeserializer(MapLikeType type, DeserializationConfig config, BeanDescription.Supplier beanDescRef, KeyDeserializer keyDeserializer, TypeDeserializer elementTypeDeserializer, ValueDeserializer<?> elementDeserializer)

protected ValueDeserializer<?>
_findCustomReferenceDeserializer(ReferenceType type, DeserializationConfig config, BeanDescription.Supplier beanDescRef, TypeDeserializer contentTypeDeserializer, ValueDeserializer<?> contentDeserializer)

protected ValueDeserializer<?>
private JavaType
private PropertyMetadata
_getSetterInfo(MapperConfig<?> config, BeanProperty prop, PropertyMetadata metadata)

Helper method copied from POJOPropertyBuilder since that won't be applied to creator parameters.

private boolean
_handleSingleArgumentCreator(CreatorCollector creators, AnnotatedWithParams ctor, boolean isCreator, boolean isVisible)

protected boolean
protected CollectionType
protected MapType
public ValueInstantiator
protected SettableBeanProperty
constructCreatorProperty(DeserializationContext ctxt, BeanDescription.Supplier beanDescRef, PropertyName name, int index, AnnotatedParameter param, JacksonInject.Value injectable)

Method that will construct a property object that represents a logical property passed via Creator (constructor or static factory method)

protected EnumResolver
constructEnumNamingStrategyResolver(DeserializationConfig config, AnnotatedClass enumClass)

Factory method used to resolve an instance of CompactStringObjectMap with EnumNamingStrategy applied for the target class.

protected EnumResolver
public ValueDeserializer<?>
createArrayDeserializer(DeserializationContext ctxt, ArrayType type, BeanDescription.Supplier beanDescRef)

Implements abstract tools.jackson.databind.deser.DeserializerFactory.createArrayDeserializer.

Method called to create (or, for completely immutable deserializers, reuse) a deserializer that can convert JSON content into values of specified Java type.

public ValueDeserializer<?>
public ValueDeserializer<?>
public ValueDeserializer<?>
createEnumDeserializer(DeserializationContext ctxt, JavaType type, BeanDescription.Supplier beanDescRef)

Implements abstract tools.jackson.databind.deser.DeserializerFactory.createEnumDeserializer.

Factory method for constructing deserializers of Enum types.

public KeyDeserializer
createKeyDeserializer(DeserializationContext ctxt, JavaType type)

Implements abstract tools.jackson.databind.deser.DeserializerFactory.createKeyDeserializer.

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.

public ValueDeserializer<?>
public ValueDeserializer<?>
public ValueDeserializer<?>
public ValueDeserializer<?>
createTreeDeserializer(DeserializationConfig config, JavaType nodeType, BeanDescription.Supplier beanDescRef)

Implements abstract tools.jackson.databind.deser.DeserializerFactory.createTreeDeserializer.

Method called to create and return a deserializer that can construct JsonNode(s) from JSON content.

protected ValueDeserializer<Object>
public ValueDeserializer<?>
findDefaultDeserializer(DeserializationContext ctxt, JavaType type, BeanDescription.Supplier beanDescRef)

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 ValueDeserializer<Object>
findDeserializerFromAnnotation(DeserializationContext ctxt, Annotated ann)

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 KeyDeserializer
findKeyDeserializerFromAnnotation(DeserializationContext ctxt, Annotated ann)

Helper method called to check if a class or method has annotation that tells which class to use for deserialization of java.util.Map keys.

protected ValueDeserializer<?>
findOptionalStdDeserializer(DeserializationContext ctxt, JavaType type, BeanDescription.Supplier beanDescRef)

Overridable method called after checking all other types.

public ValueInstantiator
findValueInstantiator(DeserializationContext ctxt, BeanDescription.Supplier beanDescRef)

Implements abstract tools.jackson.databind.deser.DeserializerFactory.findValueInstantiator.

Value instantiator is created both based on creator annotations, and on optional externally provided instantiators (registered through module interface).

public DeserializerFactoryConfig
getFactoryConfig()

Method for getting current DeserializerFactoryConfig.

public boolean
hasExplicitDeserializerFor(DatabindContext ctxt, Class<?> valueType)

Implements abstract tools.jackson.databind.deser.DeserializerFactory.hasExplicitDeserializerFor.

Method that can be used to check if databind module has deserializer for given (likely JDK) type: explicit meaning that it is not automatically generated for POJO.

protected JavaType
resolveMemberAndTypeAnnotations(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.

public final DeserializerFactory
withAdditionalDeserializers(Deserializers additional)

Implements abstract tools.jackson.databind.deser.DeserializerFactory.withAdditionalDeserializers.

Convenience method for creating a new factory instance with additional deserializer provider.

public final DeserializerFactory
withAdditionalKeyDeserializers(KeyDeserializers additional)

Implements abstract tools.jackson.databind.deser.DeserializerFactory.withAdditionalKeyDeserializers.

Convenience method for creating a new factory instance with additional KeyDeserializers.

protected abstract DeserializerFactory
public final DeserializerFactory
withDeserializerModifier(ValueDeserializerModifier modifier)

Implements abstract tools.jackson.databind.deser.DeserializerFactory.withDeserializerModifier.

Convenience method for creating a new factory instance with additional ValueDeserializerModifier.

public final DeserializerFactory
withValueInstantiators(ValueInstantiators instantiators)

Implements abstract tools.jackson.databind.deser.DeserializerFactory.withValueInstantiators.

Convenience method for creating a new factory instance with additional ValueInstantiators.

Inherited from tools.jackson.databind.deser.DeserializerFactory:
createBeanDeserializercreateBuilderBasedDeserializer