com.fasterxml.jackson.databind.deser.impl

## Class CreatorCollector

- java.lang.Object
- - com.fasterxml.jackson.databind.deser.impl.CreatorCollector

-     public class CreatorCollector
      extends Object

  Container class for storing information on creators (based on annotations, visibility), to be able to build actual instantiator later on.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected SettableBeanProperty[]` | `_arrayDelegateArgs`
    `protected BeanDescription` | `_beanDesc`
    `protected boolean` | `_canFixAccess`
    `protected AnnotatedWithParams[]` | `_creators` Set of creators we have collected so far
    `protected SettableBeanProperty[]` | `_delegateArgs`
    `protected int` | `_explicitCreators` Bitmask of creators that were explicitly marked as creators; false for auto-detected (ones included base on naming and/or visibility, not annotation)
    `protected boolean` | `_forceAccess`
    `protected boolean` | `_hasNonDefaultCreator`
    `protected SettableBeanProperty[]` | `_propertyBasedArgs`
    `protected static int` | `C_ARRAY_DELEGATE`
    `protected static int` | `C_BOOLEAN`
    `protected static int` | `C_DEFAULT`
    `protected static int` | `C_DELEGATE`
    `protected static int` | `C_DOUBLE`
    `protected static int` | `C_INT`
    `protected static int` | `C_LONG`
    `protected static int` | `C_PROPS`
    `protected static int` | `C_STRING`
    `protected static String[]` | `TYPE_DESCS`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `CreatorCollector(BeanDescription beanDesc, MapperConfig<?> config)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected boolean` | `_isEnumValueOf(AnnotatedWithParams creator)` Helper method for recognizing `Enum.valueOf()` factory method
    `void` | `addBooleanCreator(AnnotatedWithParams creator, boolean explicit)`
    `void` | `addDelegatingCreator(AnnotatedWithParams creator, boolean explicit, SettableBeanProperty[] injectables, int delegateeIndex)`
    `void` | `addDoubleCreator(AnnotatedWithParams creator, boolean explicit)`
    `void` | `addIntCreator(AnnotatedWithParams creator, boolean explicit)`
    `void` | `addLongCreator(AnnotatedWithParams creator, boolean explicit)`
    `void` | `addPropertyCreator(AnnotatedWithParams creator, boolean explicit, SettableBeanProperty[] properties)`
    `void` | `addStringCreator(AnnotatedWithParams creator, boolean explicit)`
    `ValueInstantiator` | `constructValueInstantiator(DeserializationContext ctxt)`
    `boolean` | `hasDefaultCreator()`
    `boolean` | `hasDelegatingCreator()`
    `boolean` | `hasPropertyBasedCreator()`
    `void` | `setDefaultCreator(AnnotatedWithParams creator)` Method called to indicate the default creator: no-arguments constructor or factory method that is called to instantiate a value before populating it with data.
    `protected boolean` | `verifyNonDup(AnnotatedWithParams newOne, int typeIndex, boolean explicit)`

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

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

- - ### Field Detail

    - #### C_DEFAULT

          protected static final int C_DEFAULT

      See Also:
        Constant Field Values

    - #### C_STRING

          protected static final int C_STRING

      See Also:
        Constant Field Values

    - #### C_INT

          protected static final int C_INT

      See Also:
        Constant Field Values

    - #### C_LONG

          protected static final int C_LONG

      See Also:
        Constant Field Values

    - #### C_DOUBLE

          protected static final int C_DOUBLE

      See Also:
        Constant Field Values

    - #### C_BOOLEAN

          protected static final int C_BOOLEAN

      See Also:
        Constant Field Values

    - #### C_DELEGATE

          protected static final int C_DELEGATE

      See Also:
        Constant Field Values

    - #### C_PROPS

          protected static final int C_PROPS

      See Also:
        Constant Field Values

    - #### C_ARRAY_DELEGATE

          protected static final int C_ARRAY_DELEGATE

      See Also:
        Constant Field Values

    - #### TYPE_DESCS

          protected static final String[] TYPE_DESCS

    - #### _beanDesc

          protected final BeanDescription _beanDesc

    - #### _canFixAccess

          protected final boolean _canFixAccess

    - #### _forceAccess

          protected final boolean _forceAccess

      Since:
        2.7

    - #### _creators

          protected final AnnotatedWithParams[] _creators

      Set of creators we have collected so far
      Since:
        2.5

    - #### _explicitCreators

          protected int _explicitCreators

      Bitmask of creators that were explicitly marked as creators; false for auto-detected (ones included base on naming and/or visibility, not annotation)
      Since:
        2.5

    - #### _hasNonDefaultCreator

          protected boolean _hasNonDefaultCreator

    - #### _delegateArgs

          protected SettableBeanProperty[] _delegateArgs

    - #### _arrayDelegateArgs

          protected SettableBeanProperty[] _arrayDelegateArgs

    - #### _propertyBasedArgs

          protected SettableBeanProperty[] _propertyBasedArgs

  - ### Constructor Detail

    - #### CreatorCollector

          public CreatorCollector(BeanDescription beanDesc,
                                  MapperConfig<?> config)

  - ### Method Detail

    - #### constructValueInstantiator

          public ValueInstantiator constructValueInstantiator(DeserializationContext ctxt)
                                                       throws JsonMappingException

      Throws:
        `JsonMappingException`

    - #### setDefaultCreator

          public void setDefaultCreator(AnnotatedWithParams creator)

      Method called to indicate the default creator: no-arguments constructor or factory method that is called to instantiate a value before populating it with data. Default creator is only used if no other creators are indicated.
      Parameters:
        `creator` - Creator method; no-arguments constructor or static factory method.

    - #### addStringCreator

          public void addStringCreator(AnnotatedWithParams creator,
                                       boolean explicit)

    - #### addIntCreator

          public void addIntCreator(AnnotatedWithParams creator,
                                    boolean explicit)

    - #### addLongCreator

          public void addLongCreator(AnnotatedWithParams creator,
                                     boolean explicit)

    - #### addDoubleCreator

          public void addDoubleCreator(AnnotatedWithParams creator,
                                       boolean explicit)

    - #### addBooleanCreator

          public void addBooleanCreator(AnnotatedWithParams creator,
                                        boolean explicit)

    - #### addDelegatingCreator

          public void addDelegatingCreator(AnnotatedWithParams creator,
                                           boolean explicit,
                                           SettableBeanProperty[] injectables,
                                           int delegateeIndex)

    - #### addPropertyCreator

          public void addPropertyCreator(AnnotatedWithParams creator,
                                         boolean explicit,
                                         SettableBeanProperty[] properties)

    - #### hasDefaultCreator

          public boolean hasDefaultCreator()

      Since:
        2.1

    - #### hasDelegatingCreator

          public boolean hasDelegatingCreator()

      Since:
        2.6

    - #### hasPropertyBasedCreator

          public boolean hasPropertyBasedCreator()

      Since:
        2.6

    - #### verifyNonDup

          protected boolean verifyNonDup(AnnotatedWithParams newOne,
                                         int typeIndex,
                                         boolean explicit)

      Returns:
        True if specified Creator is to be used

    - #### _isEnumValueOf

          protected boolean _isEnumValueOf(AnnotatedWithParams creator)

      Helper method for recognizing `Enum.valueOf()` factory method
      Since:
        2.8.1

Copyright © 2008–2019 FasterXML. All rights reserved.