Class PropertyBasedCreator
- java.lang.Object
-
- org.codehaus.jackson.map.deser.impl.PropertyBasedCreator
-
public final class PropertyBasedCreator extends java.lang.Object
Object that is used to collect arguments for non-default creator (non-default-constructor, or argument-taking factory method) before creator can be called. Since ordering of JSON properties is not guaranteed, this may require buffering of values other than ones being passed to creator.
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.Object[]
_defaultValues
If some property values must always have a non-null value (like primitive types do), this array contains such default values.protected java.util.HashMap<java.lang.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 nameprotected 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
-
Constructor Summary
Constructors Constructor Description PropertyBasedCreator(ValueInstantiator valueInstantiator)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
assignDeserializer(SettableBeanProperty prop, JsonDeserializer<java.lang.Object> deser)
java.lang.Object
build(PropertyValueBuffer buffer)
SettableBeanProperty
findCreatorProperty(java.lang.String name)
java.util.Collection<SettableBeanProperty>
getCreatorProperties()
PropertyValueBuffer
startBuilding(JsonParser jp, DeserializationContext ctxt)
Method called when starting to build a bean instance.
-
-
-
Field Detail
-
_valueInstantiator
protected final ValueInstantiator _valueInstantiator
-
_properties
protected final java.util.HashMap<java.lang.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
-
_propertyCount
protected final int _propertyCount
Number of properties: usually same as size of_properties
, but not necessarily, when we have unnamed injectable properties.
-
_defaultValues
protected java.lang.Object[] _defaultValues
If some property values must always have a non-null value (like primitive types do), this array contains such default values.
-
_propertiesWithInjectables
protected final SettableBeanProperty[] _propertiesWithInjectables
Array that contains properties that expect value to inject, if any; null if no injectable values are expected.- Since:
- 1.9
-
-
Constructor Detail
-
PropertyBasedCreator
public PropertyBasedCreator(ValueInstantiator valueInstantiator)
-
-
Method Detail
-
getCreatorProperties
public java.util.Collection<SettableBeanProperty> getCreatorProperties()
-
findCreatorProperty
public SettableBeanProperty findCreatorProperty(java.lang.String name)
-
assignDeserializer
public void assignDeserializer(SettableBeanProperty prop, JsonDeserializer<java.lang.Object> deser)
-
startBuilding
public PropertyValueBuffer startBuilding(JsonParser jp, DeserializationContext ctxt)
Method called when starting to build a bean instance.
-
build
public java.lang.Object build(PropertyValueBuffer buffer) throws java.io.IOException
- Throws:
java.io.IOException
-
-