org.codehaus.jackson.map.deser.impl
Class PropertyBasedCreator

java.lang.Object
  extended by org.codehaus.jackson.map.deser.impl.PropertyBasedCreator

public final class PropertyBasedCreator
extends 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
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  ValueInstantiator _valueInstantiator
           
 
Constructor Summary
PropertyBasedCreator(ValueInstantiator valueInstantiator)
           
 
Method Summary
 void assignDeserializer(SettableBeanProperty prop, JsonDeserializer<Object> deser)
           
 Object build(PropertyValueBuffer buffer)
           
 SettableBeanProperty findCreatorProperty(String name)
           
 Collection<SettableBeanProperty> getCreatorProperties()
           
 PropertyValueBuffer startBuilding(JsonParser jp, DeserializationContext ctxt)
          Method called when starting to build a bean instance.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_valueInstantiator

protected final ValueInstantiator _valueInstantiator

_properties

protected final 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


_defaultValues

protected final 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 Collection<SettableBeanProperty> getCreatorProperties()

findCreatorProperty

public SettableBeanProperty findCreatorProperty(String name)

assignDeserializer

public void assignDeserializer(SettableBeanProperty prop,
                               JsonDeserializer<Object> deser)

startBuilding

public PropertyValueBuffer startBuilding(JsonParser jp,
                                         DeserializationContext ctxt)
Method called when starting to build a bean instance.


build

public Object build(PropertyValueBuffer buffer)
             throws IOException
Throws:
IOException