BeanDeserializerFactory.ConfigImpl (Jackson JSON Processor)
Date: 2013-07-14

org.codehaus.jackson.map.deser

## Class BeanDeserializerFactory.ConfigImpl

- java.lang.Object
- - org.codehaus.jackson.map.DeserializerFactory.Config
  - - org.codehaus.jackson.map.deser.BeanDeserializerFactory.ConfigImpl

- Enclosing class:
    BeanDeserializerFactory

      public static class BeanDeserializerFactory.ConfigImpl
      extends DeserializerFactory.Config

  Standard configuration settings container class implementation.
  Since:
    1.7

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected AbstractTypeResolver[]` | `_abstractTypeResolvers` List of objects that may be able to resolve abstract types to concrete types.
    `protected Deserializers[]` | `_additionalDeserializers` List of providers for additional deserializers, checked before considering default basic or bean deserializers.
    `protected KeyDeserializers[]` | `_additionalKeyDeserializers` List of providers for additional key deserializers, checked before considering standard key deserializers.
    `protected BeanDeserializerModifier[]` | `_modifiers` List of modifiers that can change the way `BeanDeserializer` instances are configured and constructed.
    `protected ValueInstantiators[]` | `_valueInstantiators` List of objects that know how to create instances of POJO types; possibly using custom construction (non-annoted constructors; factory methods external to value type etc).
    `protected static AbstractTypeResolver[]` | `NO_ABSTRACT_TYPE_RESOLVERS`
    `protected static KeyDeserializers[]` | `NO_KEY_DESERIALIZERS`
    `protected static BeanDeserializerModifier[]` | `NO_MODIFIERS`
    `protected static ValueInstantiators[]` | `NO_VALUE_INSTANTIATORS`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `` | `BeanDeserializerFactory.ConfigImpl()` Constructor for creating basic configuration with no additional handlers.
    `protected` | `BeanDeserializerFactory.ConfigImpl(Deserializers[] allAdditionalDeserializers, KeyDeserializers[] allAdditionalKeyDeserializers, BeanDeserializerModifier[] modifiers, AbstractTypeResolver[] atr, ValueInstantiators[] vi)` Copy-constructor that will create an instance that contains defined set of additional deserializer providers.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Iterable<AbstractTypeResolver>` | `abstractTypeResolvers()`
    `Iterable<BeanDeserializerModifier>` | `deserializerModifiers()`
    `Iterable<Deserializers>` | `deserializers()`
    `boolean` | `hasAbstractTypeResolvers()`
    `boolean` | `hasDeserializerModifiers()`
    `boolean` | `hasDeserializers()`
    `boolean` | `hasKeyDeserializers()`
    `boolean` | `hasValueInstantiators()`
    `Iterable<KeyDeserializers>` | `keyDeserializers()`
    `Iterable<ValueInstantiators>` | `valueInstantiators()`
    `DeserializerFactory.Config` | `withAbstractTypeResolver(AbstractTypeResolver resolver)` Fluent/factory method used to construct a configuration object that has same configuration as this instance plus one additional abstract type resolver.
    `DeserializerFactory.Config` | `withAdditionalDeserializers(Deserializers additional)` Fluent/factory method used to construct a configuration object that has same deserializer providers as this instance, plus one specified as argument.
    `DeserializerFactory.Config` | `withAdditionalKeyDeserializers(KeyDeserializers additional)` Fluent/factory method used to construct a configuration object that has same key deserializer providers as this instance, plus one specified as argument.
    `DeserializerFactory.Config` | `withDeserializerModifier(BeanDeserializerModifier modifier)` Fluent/factory method used to construct a configuration object that has same configuration as this instance plus one additional deserialiazer modifier.
    `DeserializerFactory.Config` | `withValueInstantiators(ValueInstantiators instantiators)` Fluent/factory method used to construct a configuration object that has same configuration as this instance plus specified additional value instantiator provider object.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### NO_KEY_DESERIALIZERS

          protected static final KeyDeserializers[] NO_KEY_DESERIALIZERS

    - #### NO_MODIFIERS

          protected static final BeanDeserializerModifier[] NO_MODIFIERS

    - #### NO_ABSTRACT_TYPE_RESOLVERS

          protected static final AbstractTypeResolver[] NO_ABSTRACT_TYPE_RESOLVERS

    - #### NO_VALUE_INSTANTIATORS

          protected static final ValueInstantiators[] NO_VALUE_INSTANTIATORS

    - #### _additionalDeserializers

          protected final Deserializers[] _additionalDeserializers

      List of providers for additional deserializers, checked before considering default basic or bean deserializers.
      Since:
        1.7

    - #### _additionalKeyDeserializers

          protected final KeyDeserializers[] _additionalKeyDeserializers

      List of providers for additional key deserializers, checked before considering standard key deserializers.
      Since:
        1.7

    - #### _modifiers

          protected final BeanDeserializerModifier[] _modifiers

      List of modifiers that can change the way `BeanDeserializer` instances are configured and constructed.

    - #### _abstractTypeResolvers

          protected final AbstractTypeResolver[] _abstractTypeResolvers

      List of objects that may be able to resolve abstract types to concrete types. Used by functionality like "mr Bean" to materialize types as needed.
      Since:
        1.8

    - #### _valueInstantiators

          protected final ValueInstantiators[] _valueInstantiators

      List of objects that know how to create instances of POJO types; possibly using custom construction (non-annoted constructors; factory methods external to value type etc). Used to support objects that are created using non-standard methods; or to support post-constructor functionality.
      Since:
        1.9

  - ### Constructor Detail

    - #### BeanDeserializerFactory.ConfigImpl

          public BeanDeserializerFactory.ConfigImpl()

      Constructor for creating basic configuration with no additional handlers.

    - #### BeanDeserializerFactory.ConfigImpl

          protected BeanDeserializerFactory.ConfigImpl(Deserializers[] allAdditionalDeserializers,
                                            KeyDeserializers[] allAdditionalKeyDeserializers,
                                            BeanDeserializerModifier[] modifiers,
                                            AbstractTypeResolver[] atr,
                                            ValueInstantiators[] vi)

      Copy-constructor that will create an instance that contains defined set of additional deserializer providers.

  - ### Method Detail

    - #### withAdditionalDeserializers

          public DeserializerFactory.Config withAdditionalDeserializers(Deserializers additional)

      Description copied from class: `DeserializerFactory.Config`
      Fluent/factory method used to construct a configuration object that has same deserializer providers as this instance, plus one specified as argument. Additional provider will be added before existing ones, meaning it has priority over existing definitions.
      Specified by:
        `withAdditionalDeserializers` in class `DeserializerFactory.Config`

    - #### withAdditionalKeyDeserializers

          public DeserializerFactory.Config withAdditionalKeyDeserializers(KeyDeserializers additional)

      Description copied from class: `DeserializerFactory.Config`
      Fluent/factory method used to construct a configuration object that has same key deserializer providers as this instance, plus one specified as argument. Additional provider will be added before existing ones, meaning it has priority over existing definitions.
      Specified by:
        `withAdditionalKeyDeserializers` in class `DeserializerFactory.Config`

    - #### withDeserializerModifier

          public DeserializerFactory.Config withDeserializerModifier(BeanDeserializerModifier modifier)

      Description copied from class: `DeserializerFactory.Config`
      Fluent/factory method used to construct a configuration object that has same configuration as this instance plus one additional deserialiazer modifier. Added modifier has the highest priority (that is, it gets called before any already registered modifier).
      Specified by:
        `withDeserializerModifier` in class `DeserializerFactory.Config`

    - #### withAbstractTypeResolver

          public DeserializerFactory.Config withAbstractTypeResolver(AbstractTypeResolver resolver)

      Description copied from class: `DeserializerFactory.Config`
      Fluent/factory method used to construct a configuration object that has same configuration as this instance plus one additional abstract type resolver. Added resolver has the highest priority (that is, it gets called before any already registered resolver).
      Specified by:
        `withAbstractTypeResolver` in class `DeserializerFactory.Config`

    - #### withValueInstantiators

          public DeserializerFactory.Config withValueInstantiators(ValueInstantiators instantiators)

      Description copied from class: `DeserializerFactory.Config`
      Fluent/factory method used to construct a configuration object that has same configuration as this instance plus specified additional value instantiator provider object. Added instantiator provider has the highest priority (that is, it gets called before any already registered resolver).
      Specified by:
        `withValueInstantiators` in class `DeserializerFactory.Config`
      Parameters:
        `instantiators` - Object that can provide `ValueInstantiator`s for constructing POJO values during deserialization

    - #### hasDeserializers

          public boolean hasDeserializers()

      Specified by:
        `hasDeserializers` in class `DeserializerFactory.Config`

    - #### hasKeyDeserializers

          public boolean hasKeyDeserializers()

      Specified by:
        `hasKeyDeserializers` in class `DeserializerFactory.Config`

    - #### hasDeserializerModifiers

          public boolean hasDeserializerModifiers()

      Specified by:
        `hasDeserializerModifiers` in class `DeserializerFactory.Config`

    - #### hasAbstractTypeResolvers

          public boolean hasAbstractTypeResolvers()

      Specified by:
        `hasAbstractTypeResolvers` in class `DeserializerFactory.Config`

    - #### hasValueInstantiators

          public boolean hasValueInstantiators()

      Specified by:
        `hasValueInstantiators` in class `DeserializerFactory.Config`

    - #### deserializers

          public Iterable<Deserializers> deserializers()

      Specified by:
        `deserializers` in class `DeserializerFactory.Config`

    - #### keyDeserializers

          public Iterable<KeyDeserializers> keyDeserializers()

      Specified by:
        `keyDeserializers` in class `DeserializerFactory.Config`

    - #### deserializerModifiers

          public Iterable<BeanDeserializerModifier> deserializerModifiers()

      Specified by:
        `deserializerModifiers` in class `DeserializerFactory.Config`

    - #### abstractTypeResolvers

          public Iterable<AbstractTypeResolver> abstractTypeResolvers()

      Specified by:
        `abstractTypeResolvers` in class `DeserializerFactory.Config`

    - #### valueInstantiators

          public Iterable<ValueInstantiators> valueInstantiators()

      Specified by:
        `valueInstantiators` in class `DeserializerFactory.Config`