Tabnine Logo
BeanDeserializerFactory
Code IndexAdd Tabnine to your IDE (free)

How to use
BeanDeserializerFactory
in
com.fasterxml.jackson.databind.deser

Best Java code snippets using com.fasterxml.jackson.databind.deser.BeanDeserializerFactory (Showing top 20 results out of 315)

Refine searchRefine arrow

  • DeserializationContext
  • BeanDescription
  • AnnotatedMethod
  • JavaType
  • BeanDeserializerBuilder
  • DeserializerFactoryConfig
origin: redisson/redisson

/**
 * Method used by module registration functionality, to construct a new bean
 * deserializer factory
 * with different configuration settings.
 */
@Override
public DeserializerFactory withConfig(DeserializerFactoryConfig config)
{
  if (_factoryConfig == config) {
    return this;
  }
  /* 22-Nov-2010, tatu: Handling of subtypes is tricky if we do immutable-with-copy-ctor;
   *    and we pretty much have to here either choose between losing subtype instance
   *    when registering additional deserializers, or losing deserializers.
   *    Instead, let's actually just throw an error if this method is called when subtype
   *    has not properly overridden this method; this to indicate problem as soon as possible.
   */
  ClassUtil.verifyMustOverride(BeanDeserializerFactory.class, this, "withConfig");
  return new BeanDeserializerFactory(config);
}

origin: redisson/redisson

  valueInstantiator = findValueInstantiator(ctxt, builderDesc);
} catch (NoClassDefFoundError error) {
  return new ErrorThrowingDeserializer(error);
  throw InvalidDefinitionException.from(ctxt.getParser(),
      ClassUtil.exceptionMessage(e),
      builderDesc, null);
final DeserializationConfig config = ctxt.getConfig();
BeanDeserializerBuilder builder = constructBeanDeserializerBuilder(ctxt, builderDesc);
builder.setValueInstantiator(valueInstantiator);
addBeanProps(ctxt, builderDesc, builder);
addObjectIdReader(ctxt, builderDesc, builder);
addBackReferenceProperties(ctxt, builderDesc, builder);
addInjectables(ctxt, builderDesc, builder);
JsonPOJOBuilder.Value builderConfig = builderDesc.findPOJOBuilderConfig();
final String buildMethodName = (builderConfig == null) ?
    JsonPOJOBuilder.DEFAULT_BUILD_METHOD : builderConfig.buildMethodName;
builder.setPOJOBuilder(buildMethod, builderConfig);
JsonDeserializer<?> deserializer = builder.buildBuilderBased(
    valueType, buildMethodName);
origin: redisson/redisson

throws JsonMappingException
final DeserializationConfig config = ctxt.getConfig();
JsonDeserializer<Object> custom = _findCustomBeanDeserializer(type, config, beanDesc);
if (custom != null) {
  return custom;
if (type.isThrowable()) {
  return buildThrowableDeserializer(ctxt, type, beanDesc);
if (type.isAbstract() && !type.isPrimitive() && !type.isEnumType()) {
  JavaType concreteType = materializeAbstractType(ctxt, type, beanDesc);
  if (concreteType != null) {
    return buildBeanDeserializer(ctxt, concreteType, beanDesc);
JsonDeserializer<Object> deser = (JsonDeserializer<Object>) findStdDeserializer(ctxt, type, beanDesc);
if (deser != null) {
  return deser;
if (!isPotentialBeanType(type.getRawClass())) {
  return null;
_validateSubType(ctxt, type, beanDesc);
return buildBeanDeserializer(ctxt, type, beanDesc);
origin: redisson/redisson

throws JsonMappingException
final DeserializationConfig config = ctxt.getConfig();
BeanDeserializerBuilder builder = constructBeanDeserializerBuilder(ctxt, beanDesc);
builder.setValueInstantiator(findValueInstantiator(ctxt, beanDesc));
addBeanProps(ctxt, beanDesc, builder);
AnnotatedMethod am = beanDesc.findMethod("initCause", INIT_CAUSE_PARAMS);
if (am != null) { // should never be null
  SimpleBeanPropertyDefinition propDef = SimpleBeanPropertyDefinition.construct(ctxt.getConfig(), am,
      new PropertyName("cause"));
  SettableBeanProperty prop = constructSettableProperty(ctxt, beanDesc, propDef,
      am.getParameterType(0));
  if (prop != null) {
    builder.addOrReplaceProperty(prop, true);
builder.addIgnorable("localizedMessage");
builder.addIgnorable("suppressed");
if (_factoryConfig.hasDeserializerModifiers()) {
  for (BeanDeserializerModifier mod : _factoryConfig.deserializerModifiers()) {
    builder = mod.updateBuilder(config, beanDesc, builder);
origin: com.fasterxml.jackson.core/com.springsource.com.fasterxml.jackson.core.jackson-databind

AnnotationIntrospector intr = ctxt.getAnnotationIntrospector();
boolean ignoreAny = false;
AnnotatedMethod anySetter = beanDesc.findAnySetter();
if (anySetter != null) {
  builder.setAnySetter(constructAnySetter(ctxt, beanDesc, anySetter));
final boolean useGettersAsSetters = (ctxt.isEnabled(MapperFeature.USE_GETTERS_AS_SETTERS)
    && ctxt.isEnabled(MapperFeature.AUTO_DETECT_GETTERS));
List<BeanPropertyDefinition> propDefs = filterBeanProps(ctxt,
    beanDesc, builder, beanDesc.findProperties(), ignored);
    Type propertyType = propDef.getSetter().getGenericParameterType(0);
    prop = constructSettableProperty(ctxt,
        beanDesc, propDef, propertyType);
  } else if (propDef.hasField()) {
    Type propertyType = propDef.getField().getGenericType();
    prop = constructSettableProperty(ctxt, beanDesc, propDef, propertyType);
  } else if (useGettersAsSetters && propDef.hasGetter()) {
    Class<?> rawPropertyType = getter.getRawType();
    if (Collection.class.isAssignableFrom(rawPropertyType)
        || Map.class.isAssignableFrom(rawPropertyType)) {
      prop = constructSetterlessProperty(ctxt, beanDesc, propDef);
origin: redisson/redisson

throws JsonMappingException
    builder.addIgnorable(propName);
  builder.setAnySetter(constructAnySetter(ctxt, beanDesc, anySetter));
} else {
final boolean useGettersAsSetters = ctxt.isEnabled(MapperFeature.USE_GETTERS_AS_SETTERS)
List<BeanPropertyDefinition> propDefs = filterBeanProps(ctxt,
if (_factoryConfig.hasDeserializerModifiers()) {
  for (BeanDeserializerModifier mod : _factoryConfig.deserializerModifiers()) {
    JavaType propertyType = setter.getParameterType(0);
    prop = constructSettableProperty(ctxt, beanDesc, propDef, propertyType);
  } else if (propDef.hasField()) {
    AnnotatedField field = propDef.getField();
    JavaType propertyType = field.getType();
    prop = constructSettableProperty(ctxt, beanDesc, propDef, propertyType);
  } else {
      if (useGettersAsSetters && _isSetterlessType(getter.getRawType())) {
          prop = constructSetterlessProperty(ctxt, beanDesc, propDef);
          prop = constructSetterlessProperty(ctxt, beanDesc, propDef);
origin: Nextdoor/bender

throws JsonMappingException
  builder.setIgnoreUnknownProperties(ignoreAny);
    builder.addIgnorable(propName);
AnnotatedMember anySetterField = null;
if (anySetterMethod != null) {
  builder.setAnySetter(constructAnySetter(ctxt, beanDesc, anySetterMethod));
    builder.setAnySetter(constructAnySetter(ctxt, beanDesc, anySetterField));
final boolean useGettersAsSetters = ctxt.isEnabled(MapperFeature.USE_GETTERS_AS_SETTERS)
List<BeanPropertyDefinition> propDefs = filterBeanProps(ctxt,
    JavaType propertyType = propDef.getSetter().getParameterType(0);
    prop = constructSettableProperty(ctxt, beanDesc, propDef, propertyType);
  } else if (propDef.hasField()) {
    JavaType propertyType = propDef.getField().getType();
    prop = constructSettableProperty(ctxt, beanDesc, propDef, propertyType);
  } else if (useGettersAsSetters && propDef.hasGetter()) {
    Class<?> rawPropertyType = getter.getRawType();
    if (Collection.class.isAssignableFrom(rawPropertyType)
        || Map.class.isAssignableFrom(rawPropertyType)) {
      prop = constructSetterlessProperty(ctxt, beanDesc, propDef);
origin: redisson/redisson

  valueInstantiator = findValueInstantiator(ctxt, beanDesc);
} catch (NoClassDefFoundError error) {
  return new ErrorThrowingDeserializer(error);
  throw InvalidDefinitionException.from(ctxt.getParser(),
      ClassUtil.exceptionMessage(e),
      beanDesc, null);
BeanDeserializerBuilder builder = constructBeanDeserializerBuilder(ctxt, beanDesc);
builder.setValueInstantiator(valueInstantiator);
addBeanProps(ctxt, beanDesc, builder);
addObjectIdReader(ctxt, beanDesc, builder);
addBackReferenceProperties(ctxt, beanDesc, builder);
addInjectables(ctxt, beanDesc, builder);
final DeserializationConfig config = ctxt.getConfig();
if (_factoryConfig.hasDeserializerModifiers()) {
  for (BeanDeserializerModifier mod : _factoryConfig.deserializerModifiers()) {
    builder = mod.updateBuilder(config, beanDesc, builder);
if (_factoryConfig.hasDeserializerModifiers()) {
  for (BeanDeserializerModifier mod : _factoryConfig.deserializerModifiers()) {
    deserializer = mod.modifyDeserializer(config, beanDesc, deserializer);
origin: redisson/redisson

@Override
public JsonDeserializer<Object> createBuilderBasedDeserializer(DeserializationContext ctxt,
    JavaType valueType, BeanDescription beanDesc, Class<?> builderClass)
        throws JsonMappingException
{
  // First: need a BeanDescription for builder class
  JavaType builderType = ctxt.constructType(builderClass);
  BeanDescription builderDesc = ctxt.getConfig().introspectForBuilder(builderType);
  return buildBuilderBasedDeserializer(ctxt, valueType, builderDesc);
}
origin: stackoverflow.com

 import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.databind.BeanDescription;
import com.fasterxml.jackson.databind.DeserializationConfig;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.cfg.DeserializerFactoryConfig;
import com.fasterxml.jackson.databind.deser.BeanDeserializerFactory;
import com.fasterxml.jackson.databind.deser.ResolvableDeserializer;
import com.fasterxml.jackson.databind.type.SimpleType;
...
  public abstract class RestDtoDeserializer<T> extends JsonDeserializer<T>
  {
    @Override
    public T deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException
    {
      DeserializationConfig config = ctxt.getConfig();
      SimpleType simpleType = SimpleType.construct(getImplementationClass());
      BeanDescription beanDesc = config.introspect(simpleType);
      BeanDeserializerFactory instance = new BeanDeserializerFactory(new DeserializerFactoryConfig());
      JsonDeserializer deserializer = instance.buildBeanDeserializer(ctxt, simpleType, beanDesc);
      ((ResolvableDeserializer)deserializer).resolve(ctxt);
      return (T) deserializer.deserialize(jp, ctxt);
    }

    public abstract Class<? extends T> getImplementationClass();
origin: ctripcorp/caravan

 @Override
 public void addInjectables(DeserializationContext ctxt, BeanDescription beanDesc, BeanDeserializerBuilder builder) throws JsonMappingException {
  super.addInjectables(ctxt, beanDesc, builder);
 }
}
origin: ctripcorp/caravan

@Override
public void addObjectIdReader(DeserializationContext ctxt, BeanDescription beanDesc, BeanDeserializerBuilder builder) throws JsonMappingException {
 super.addObjectIdReader(ctxt, beanDesc, builder);
}
origin: ctripcorp/caravan

@Override
public void addBeanProps(DeserializationContext ctxt, BeanDescription beanDesc, BeanDeserializerBuilder builder) throws JsonMappingException {
 super.addBeanProps(ctxt, beanDesc, builder);
}
origin: com.eclipsesource.jaxrs/jersey-all

    builder.getValueInstantiator().getFromObjectArguments(ctxt.getConfig());
final boolean isConcrete = !beanDesc.getType().isAbstract();
AnnotationIntrospector intr = ctxt.getAnnotationIntrospector();
boolean ignoreAny = false;
  builder.setAnySetter(constructAnySetter(ctxt, beanDesc, anySetter));
final boolean useGettersAsSetters = (ctxt.isEnabled(MapperFeature.USE_GETTERS_AS_SETTERS)
List<BeanPropertyDefinition> propDefs = filterBeanProps(ctxt,
if (_factoryConfig.hasDeserializerModifiers()) {
  for (BeanDeserializerModifier mod : _factoryConfig.deserializerModifiers()) {
    Type propertyType = propDef.getSetter().getGenericParameterType(0);
    prop = constructSettableProperty(ctxt, beanDesc, propDef, propertyType);
  } else if (propDef.hasField()) {
    Type propertyType = propDef.getField().getGenericType();
    prop = constructSettableProperty(ctxt, beanDesc, propDef, propertyType);
  } else if (useGettersAsSetters && propDef.hasGetter()) {
    Class<?> rawPropertyType = getter.getRawType();
    if (Collection.class.isAssignableFrom(rawPropertyType)
        || Map.class.isAssignableFrom(rawPropertyType)) {
      prop = constructSetterlessProperty(ctxt, beanDesc, propDef);
origin: com.jwebmp.jackson.core/jackson-databind

throws JsonMappingException
    builder.addIgnorable(propName);
  builder.setAnySetter(constructAnySetter(ctxt, beanDesc, anySetter));
} else {
final boolean useGettersAsSetters = ctxt.isEnabled(MapperFeature.USE_GETTERS_AS_SETTERS)
List<BeanPropertyDefinition> propDefs = filterBeanProps(ctxt,
if (_factoryConfig.hasDeserializerModifiers()) {
  for (BeanDeserializerModifier mod : _factoryConfig.deserializerModifiers()) {
    JavaType propertyType = setter.getParameterType(0);
    prop = constructSettableProperty(ctxt, beanDesc, propDef, propertyType);
  } else if (propDef.hasField()) {
    AnnotatedField field = propDef.getField();
    JavaType propertyType = field.getType();
    prop = constructSettableProperty(ctxt, beanDesc, propDef, propertyType);
  } else {
      if (useGettersAsSetters && _isSetterlessType(getter.getRawType())) {
          prop = constructSetterlessProperty(ctxt, beanDesc, propDef);
          prop = constructSetterlessProperty(ctxt, beanDesc, propDef);
origin: com.ning.billing/killbill-osgi-bundles-analytics

throws JsonMappingException
final DeserializationConfig config = ctxt.getConfig();
BeanDeserializerBuilder builder = constructBeanDeserializerBuilder(ctxt, beanDesc);
builder.setValueInstantiator(findValueInstantiator(ctxt, beanDesc));
addBeanProps(ctxt, beanDesc, builder);
AnnotatedMethod am = beanDesc.findMethod("initCause", INIT_CAUSE_PARAMS);
if (am != null) { // should never be null
  SimpleBeanPropertyDefinition propDef = new SimpleBeanPropertyDefinition(am, "cause");
  SettableBeanProperty prop = constructSettableProperty(ctxt, beanDesc, propDef,
      am.getGenericParameterType(0));
  if (prop != null) {
    builder.addOrReplaceProperty(prop, true);
builder.addIgnorable("localizedMessage");
builder.addIgnorable("suppressed");
if (_factoryConfig.hasDeserializerModifiers()) {
  for (BeanDeserializerModifier mod : _factoryConfig.deserializerModifiers()) {
    builder = mod.updateBuilder(config, beanDesc, builder);
origin: com.ning.billing/killbill-osgi-bundles-analytics

ValueInstantiator valueInstantiator = findValueInstantiator(ctxt, beanDesc);
BeanDeserializerBuilder builder = constructBeanDeserializerBuilder(ctxt, beanDesc);
builder.setValueInstantiator(valueInstantiator);
addBeanProps(ctxt, beanDesc, builder);
addObjectIdReader(ctxt, beanDesc, builder);
addReferenceProperties(ctxt, beanDesc, builder);
addInjectables(ctxt, beanDesc, builder);
final DeserializationConfig config = ctxt.getConfig();
if (_factoryConfig.hasDeserializerModifiers()) {
  for (BeanDeserializerModifier mod : _factoryConfig.deserializerModifiers()) {
    builder = mod.updateBuilder(config, beanDesc, builder);
if (type.isAbstract() && !valueInstantiator.canInstantiate()) {
  deserializer = builder.buildAbstract();
} else {
  deserializer = builder.build();
if (_factoryConfig.hasDeserializerModifiers()) {
  for (BeanDeserializerModifier mod : _factoryConfig.deserializerModifiers()) {
    deserializer = mod.modifyDeserializer(config, beanDesc, deserializer);
origin: com.eclipsesource.jaxrs/jersey-all

@Override
public JsonDeserializer<Object> createBuilderBasedDeserializer(
    DeserializationContext ctxt, JavaType valueType, BeanDescription beanDesc,
    Class<?> builderClass)
  throws JsonMappingException
{
  // First: need a BeanDescription for builder class
  JavaType builderType = ctxt.constructType(builderClass);
  BeanDescription builderDesc = ctxt.getConfig().introspectForBuilder(builderType);
  return buildBuilderBasedDeserializer(ctxt, valueType, builderDesc);
}

origin: com.ning.billing/killbill-osgi-bundles-analytics

    builder.getValueInstantiator().getFromObjectArguments(ctxt.getConfig());
AnnotationIntrospector intr = ctxt.getAnnotationIntrospector();
boolean ignoreAny = false;
AnnotatedMethod anySetter = beanDesc.findAnySetter();
if (anySetter != null) {
  builder.setAnySetter(constructAnySetter(ctxt, beanDesc, anySetter));
final boolean useGettersAsSetters = (ctxt.isEnabled(MapperFeature.USE_GETTERS_AS_SETTERS)
    && ctxt.isEnabled(MapperFeature.AUTO_DETECT_GETTERS));
List<BeanPropertyDefinition> propDefs = filterBeanProps(ctxt,
    beanDesc, builder, beanDesc.findProperties(), ignored);
    Type propertyType = propDef.getSetter().getGenericParameterType(0);
    prop = constructSettableProperty(ctxt, beanDesc, propDef, propertyType);
  } else if (propDef.hasField()) {
    Type propertyType = propDef.getField().getGenericType();
    prop = constructSettableProperty(ctxt, beanDesc, propDef, propertyType);
  } else if (useGettersAsSetters && propDef.hasGetter()) {
    Class<?> rawPropertyType = getter.getRawType();
    if (Collection.class.isAssignableFrom(rawPropertyType)
        || Map.class.isAssignableFrom(rawPropertyType)) {
      prop = constructSetterlessProperty(ctxt, beanDesc, propDef);
origin: com.fasterxml.jackson.core/com.springsource.com.fasterxml.jackson.core.jackson-databind

throws JsonMappingException
final DeserializationConfig config = ctxt.getConfig();
JsonDeserializer<Object> custom = _findCustomBeanDeserializer(type, config, beanDesc);
if (custom != null) {
  return custom;
if (type.isThrowable()) {
  return buildThrowableDeserializer(ctxt, type, beanDesc);
if (type.isAbstract()) {
  JavaType concreteType = materializeAbstractType(config, beanDesc);
  if (concreteType != null) {
    return buildBeanDeserializer(ctxt, concreteType, beanDesc);
JsonDeserializer<Object> deser = findStdDeserializer(config, type);
if (deser != null) {
  return deser;
if (!isPotentialBeanType(type.getRawClass())) {
  return null;
return buildBeanDeserializer(ctxt, type, beanDesc);
com.fasterxml.jackson.databind.deserBeanDeserializerFactory

Javadoc

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).

Most used methods

  • <init>
  • addBeanProps
    Method called to figure out settable properties for the bean deserializer to use. Note: designed to
  • addInjectables
    Method called locate all members used for value injection (if any), constructor com.fasterxml.jackso
  • addObjectIdReader
  • buildBeanDeserializer
    Method that is to actually build a bean deserializer instance. All basic sanity checks have been don
  • _findCustomBeanDeserializer
  • buildBuilderBasedDeserializer
    Method for constructing a bean deserializer that uses specified intermediate Builder for binding dat
  • buildThrowableDeserializer
  • constructAnySetter
    Method called to construct fallback SettableAnyPropertyfor handling unknown bean properties, given a
  • constructBeanDeserializerBuilder
    Overridable method that constructs a BeanDeserializerBuilderwhich is used to accumulate information
  • constructSettableProperty
    Method that will construct a regular bean property setter using the given setter method.
  • constructSetterlessProperty
    Method that will construct a regular bean property setter using the given setter method.
  • constructSettableProperty,
  • constructSetterlessProperty,
  • filterBeanProps,
  • findDeserializerFromAnnotation,
  • findStdDeserializer,
  • findValueInstantiator,
  • isIgnorableType,
  • isPotentialBeanType,
  • materializeAbstractType,
  • addReferenceProperties

Popular in Java

  • Making http requests using okhttp
  • onCreateOptionsMenu (Activity)
  • runOnUiThread (Activity)
  • getExternalFilesDir (Context)
  • BigDecimal (java.math)
    An immutable arbitrary-precision signed decimal.A value is represented by an arbitrary-precision "un
  • MessageDigest (java.security)
    Uses a one-way hash function to turn an arbitrary number of bytes into a fixed-length byte sequence.
  • HashMap (java.util)
    HashMap is an implementation of Map. All optional operations are supported.All elements are permitte
  • SortedSet (java.util)
    SortedSet is a Set which iterates over its elements in a sorted order. The order is determined eithe
  • Vector (java.util)
    Vector is an implementation of List, backed by an array and synchronized. All optional operations in
  • Runner (org.openjdk.jmh.runner)
  • CodeWhisperer alternatives
Tabnine Logo
  • Products

    Search for Java codeSearch for JavaScript code
  • IDE Plugins

    IntelliJ IDEAWebStormVisual StudioAndroid StudioEclipseVisual Studio CodePyCharmSublime TextPhpStormVimGoLandRubyMineEmacsJupyter NotebookJupyter LabRiderDataGripAppCode
  • Company

    About UsContact UsCareers
  • Resources

    FAQBlogTabnine AcademyTerms of usePrivacy policyJava Code IndexJavascript Code Index
Get Tabnine for your IDE now