Top Description Fields Constructors Methods
com.fasterxml.jackson.databind.deser.impl

public Class CreatorCollector

extends Object
Class Inheritance
Imports
java.lang.reflect.Member, java.util.*, com.fasterxml.jackson.databind.*, com.fasterxml.jackson.databind.cfg.MapperConfig, com.fasterxml.jackson.databind.deser.SettableBeanProperty, .ValueInstantiator, com.fasterxml.jackson.databind.deser.std.StdValueInstantiator, com.fasterxml.jackson.databind.introspect.*, com.fasterxml.jackson.databind.util.ClassUtil

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

Field Summary

Modifier and TypeField and Description
protected SettableBeanProperty[]
protected final BeanDescription
_beanDesc

Type of bean being created

protected final boolean
protected final AnnotatedWithParams[]
_creators

Set of creators we have collected so far

protected SettableBeanProperty[]
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 final boolean
protected boolean
protected SettableBeanProperty[]
protected static final int
protected static final int
protected static final int
protected static final int
protected static final int
protected static final int
protected static final int
protected static final int
protected static final int
protected static final int
protected static final int
protected static final String[]

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
private JavaType
private <T extends AnnotatedMember> T
_fixAccess(T member)

protected boolean
_isEnumValueOf(AnnotatedWithParams creator)

Helper method for recognizing `Enum.valueOf()` factory method

protected void
_reportDuplicateCreator(int typeIndex, boolean explicit, AnnotatedWithParams oldOne, AnnotatedWithParams newOne)

public void
addBigDecimalCreator(AnnotatedWithParams creator, boolean explicit)

public void
addBigIntegerCreator(AnnotatedWithParams creator, boolean explicit)

public void
addBooleanCreator(AnnotatedWithParams creator, boolean explicit)

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

public void
addDoubleCreator(AnnotatedWithParams creator, boolean explicit)

public void
addIntCreator(AnnotatedWithParams creator, boolean explicit)

public void
addLongCreator(AnnotatedWithParams creator, boolean explicit)

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

public void
addStringCreator(AnnotatedWithParams creator, boolean explicit)

public ValueInstantiator
public boolean
public boolean
public boolean
public void
setDefaultCreator(AnnotatedWithParams
Creator method; no-arguments constructor or factory method.
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

Returns:

True if specified Creator is to be used
verifyNonDup
(AnnotatedWithParams newOne, int typeIndex, boolean explicit)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

_arrayDelegateArgsback to summary
protected SettableBeanProperty[] _arrayDelegateArgs
_beanDescback to summary
protected final BeanDescription _beanDesc

Type of bean being created

_canFixAccessback to summary
protected final boolean _canFixAccess
_creatorsback to summary
protected final AnnotatedWithParams[] _creators

Set of creators we have collected so far

Since
2.5
_delegateArgsback to summary
protected SettableBeanProperty[] _delegateArgs
_explicitCreatorsback to summary
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
_forceAccessback to summary
protected final boolean _forceAccess
Since
2.7
_hasNonDefaultCreatorback to summary
protected boolean _hasNonDefaultCreator
_propertyBasedArgsback to summary
protected SettableBeanProperty[] _propertyBasedArgs
C_ARRAY_DELEGATEback to summary
protected static final int C_ARRAY_DELEGATE
C_BIG_DECIMALback to summary
protected static final int C_BIG_DECIMAL
C_BIG_INTEGERback to summary
protected static final int C_BIG_INTEGER
C_BOOLEANback to summary
protected static final int C_BOOLEAN
C_DEFAULTback to summary
protected static final int C_DEFAULT
C_DELEGATEback to summary
protected static final int C_DELEGATE
C_DOUBLEback to summary
protected static final int C_DOUBLE
C_INTback to summary
protected static final int C_INT
C_LONGback to summary
protected static final int C_LONG
C_PROPSback to summary
protected static final int C_PROPS
C_STRINGback to summary
protected static final int C_STRING
TYPE_DESCSback to summary
protected static final String[] TYPE_DESCS

Constructor Detail

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

Method Detail

_computeDelegateTypeback to summary
private JavaType _computeDelegateType(DeserializationContext ctxt, AnnotatedWithParams creator, SettableBeanProperty[] delegateArgs) throws JsonMappingException
_fixAccessback to summary
private <T extends AnnotatedMember> T _fixAccess(T member)
_isEnumValueOfback to summary
protected boolean _isEnumValueOf(AnnotatedWithParams creator)

Helper method for recognizing `Enum.valueOf()` factory method

Since
2.8.1
_reportDuplicateCreatorback to summary
protected void _reportDuplicateCreator(int typeIndex, boolean explicit, AnnotatedWithParams oldOne, AnnotatedWithParams newOne)
addBigDecimalCreatorback to summary
public void addBigDecimalCreator(AnnotatedWithParams creator, boolean explicit)
addBigIntegerCreatorback to summary
public void addBigIntegerCreator(AnnotatedWithParams creator, boolean explicit)
addBooleanCreatorback to summary
public void addBooleanCreator(AnnotatedWithParams creator, boolean explicit)
addDelegatingCreatorback to summary
public void addDelegatingCreator(AnnotatedWithParams creator, boolean explicit, SettableBeanProperty[] injectables, int delegateeIndex)
addDoubleCreatorback to summary
public void addDoubleCreator(AnnotatedWithParams creator, boolean explicit)
addIntCreatorback to summary
public void addIntCreator(AnnotatedWithParams creator, boolean explicit)
addLongCreatorback to summary
public void addLongCreator(AnnotatedWithParams creator, boolean explicit)
addPropertyCreatorback to summary
public void addPropertyCreator(AnnotatedWithParams creator, boolean explicit, SettableBeanProperty[] properties)
addStringCreatorback to summary
public void addStringCreator(AnnotatedWithParams creator, boolean explicit)
constructValueInstantiatorback to summary
public ValueInstantiator constructValueInstantiator(DeserializationContext ctxt) throws JsonMappingException
hasDefaultCreatorback to summary
public boolean hasDefaultCreator()
Since
2.1
hasDelegatingCreatorback to summary
public boolean hasDelegatingCreator()
Since
2.6
hasPropertyBasedCreatorback to summary
public boolean hasPropertyBasedCreator()
Since
2.6
setDefaultCreatorback to summary
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:AnnotatedWithParams

Creator method; no-arguments constructor or factory method.

verifyNonDupback to summary
protected boolean verifyNonDup(AnnotatedWithParams newOne, int typeIndex, boolean explicit)
Returns:boolean

True if specified Creator is to be used