public final class PropertyBasedCreator extends Object
Modifier and Type | Field and Description |
---|---|
protected Object[] |
_defaultValues
If some property values must always have a non-null value (like
primitive types do), this array contains such default values.
|
protected HashMap<String,SettableBeanProperty> |
_properties
Map that contains property objects for either constructor or factory
method (whichever one is null: one property for each
parameter for that one), keyed by logical property name
|
protected SettableBeanProperty[] |
_propertiesWithInjectables
Array that contains properties that expect value to inject, if any;
null if no injectable values are expected.
|
protected int |
_propertyCount
Number of properties: usually same as size of
_properties ,
but not necessarily, when we have unnamed injectable properties. |
protected ValueInstantiator |
_valueInstantiator |
Modifier | Constructor and Description |
---|---|
protected |
PropertyBasedCreator(ValueInstantiator valueInstantiator,
SettableBeanProperty[] creatorProps,
Object[] defaultValues) |
Modifier and Type | Method and Description |
---|---|
void |
assignDeserializer(SettableBeanProperty prop,
JsonDeserializer<Object> deser) |
Object |
build(DeserializationContext ctxt,
PropertyValueBuffer buffer) |
static PropertyBasedCreator |
construct(DeserializationContext ctxt,
ValueInstantiator valueInstantiator,
SettableBeanProperty[] srcProps)
Factory method used for building actual instances: resolves deserializers
and checks for "null values".
|
SettableBeanProperty |
findCreatorProperty(int propertyIndex) |
SettableBeanProperty |
findCreatorProperty(String name) |
Collection<SettableBeanProperty> |
properties() |
PropertyValueBuffer |
startBuilding(JsonParser jp,
DeserializationContext ctxt,
ObjectIdReader oir)
Method called when starting to build a bean instance.
|
protected final ValueInstantiator _valueInstantiator
protected final HashMap<String,SettableBeanProperty> _properties
protected final int _propertyCount
_properties
,
but not necessarily, when we have unnamed injectable properties.protected final Object[] _defaultValues
protected final SettableBeanProperty[] _propertiesWithInjectables
protected PropertyBasedCreator(ValueInstantiator valueInstantiator, SettableBeanProperty[] creatorProps, Object[] defaultValues)
public static PropertyBasedCreator construct(DeserializationContext ctxt, ValueInstantiator valueInstantiator, SettableBeanProperty[] srcProps) throws JsonMappingException
JsonMappingException
public void assignDeserializer(SettableBeanProperty prop, JsonDeserializer<Object> deser)
public Collection<SettableBeanProperty> properties()
public SettableBeanProperty findCreatorProperty(String name)
public SettableBeanProperty findCreatorProperty(int propertyIndex)
public PropertyValueBuffer startBuilding(JsonParser jp, DeserializationContext ctxt, ObjectIdReader oir)
public Object build(DeserializationContext ctxt, PropertyValueBuffer buffer) throws IOException
IOException
Copyright © 2014 FasterXML. All Rights Reserved.