Class BeanDeserializerBuilder
- java.lang.Object
-
- com.fasterxml.jackson.databind.deser.BeanDeserializerBuilder
-
public class BeanDeserializerBuilder extends java.lang.Object
Builder class used for aggregating deserialization information about a POJO, in order to build aJsonDeserializer
for deserializing instances.
-
-
Constructor Summary
Constructors Constructor Description BeanDeserializerBuilder(BeanDescription beanDesc, DeserializationContext ctxt)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addBackReferenceProperty(java.lang.String referenceName, SettableBeanProperty prop)
Method called to add a property that represents so-called back reference; reference that "points back" to object that has forward reference to currently built bean.void
addCreatorProperty(SettableBeanProperty prop)
Method called by deserializer factory, when a "creator property" (something that is passed via constructor- or factory method argument; instead of setter or field).void
addIgnorable(java.lang.String propName)
Method that will add property name as one of properties that can be ignored if not recognized.void
addIncludable(java.lang.String propName)
Method that will add property name as one of the properties that will be included.void
addInjectable(PropertyName propName, JavaType propType, Annotations contextAnnotations, AnnotatedMember member, java.lang.Object valueId)
void
addOrReplaceProperty(SettableBeanProperty prop, boolean allowOverride)
Method for adding a new property or replacing a property.void
addProperty(SettableBeanProperty prop)
Method to add a property setter.JsonDeserializer<?>
build()
Method for constructing aBeanDeserializer
, given all information collected.AbstractDeserializer
buildAbstract()
Alternate build method used when we must be using some form of abstract resolution, usually by using addition Type Id ("polymorphic deserialization")JsonDeserializer<?>
buildBuilderBased(JavaType valueType, java.lang.String expBuildMethodName)
Method for constructing a specialized deserializer that uses additional external Builder object during data binding.SettableBeanProperty
findProperty(PropertyName propertyName)
SettableAnyProperty
getAnySetter()
JsonPOJOBuilder.Value
getBuilderConfig()
AnnotatedMethod
getBuildMethod()
java.util.List<ValueInjector>
getInjectables()
ObjectIdReader
getObjectIdReader()
java.util.Iterator<SettableBeanProperty>
getProperties()
Method that allows accessing all properties that this builder currently contains.ValueInstantiator
getValueInstantiator()
boolean
hasIgnorable(java.lang.String name)
boolean
hasProperty(PropertyName propertyName)
SettableBeanProperty
removeProperty(PropertyName name)
void
setAnySetter(SettableAnyProperty s)
void
setIgnoreUnknownProperties(boolean ignore)
void
setObjectIdReader(ObjectIdReader r)
void
setPOJOBuilder(AnnotatedMethod buildMethod, JsonPOJOBuilder.Value config)
void
setValueInstantiator(ValueInstantiator inst)
-
-
-
Constructor Detail
-
BeanDeserializerBuilder
public BeanDeserializerBuilder(BeanDescription beanDesc, DeserializationContext ctxt)
-
-
Method Detail
-
addOrReplaceProperty
public void addOrReplaceProperty(SettableBeanProperty prop, boolean allowOverride)
Method for adding a new property or replacing a property.
-
addProperty
public void addProperty(SettableBeanProperty prop)
Method to add a property setter. Will ensure that there is no unexpected override; if one is found will throw aIllegalArgumentException
.
-
addBackReferenceProperty
public void addBackReferenceProperty(java.lang.String referenceName, SettableBeanProperty prop)
Method called to add a property that represents so-called back reference; reference that "points back" to object that has forward reference to currently built bean.
-
addInjectable
public void addInjectable(PropertyName propName, JavaType propType, Annotations contextAnnotations, AnnotatedMember member, java.lang.Object valueId)
-
addIgnorable
public void addIgnorable(java.lang.String propName)
Method that will add property name as one of properties that can be ignored if not recognized.
-
addIncludable
public void addIncludable(java.lang.String propName)
Method that will add property name as one of the properties that will be included.- Since:
- 2.12
-
addCreatorProperty
public void addCreatorProperty(SettableBeanProperty prop)
Method called by deserializer factory, when a "creator property" (something that is passed via constructor- or factory method argument; instead of setter or field).Default implementation does not do anything; we may need to revisit this decision if these properties need to be available through accessors. For now, however, we just have to ensure that we don't try to resolve types that masked setter/field has (see [JACKSON-700] for details).
-
setAnySetter
public void setAnySetter(SettableAnyProperty s)
-
setIgnoreUnknownProperties
public void setIgnoreUnknownProperties(boolean ignore)
-
setValueInstantiator
public void setValueInstantiator(ValueInstantiator inst)
-
setObjectIdReader
public void setObjectIdReader(ObjectIdReader r)
-
setPOJOBuilder
public void setPOJOBuilder(AnnotatedMethod buildMethod, JsonPOJOBuilder.Value config)
-
getProperties
public java.util.Iterator<SettableBeanProperty> getProperties()
Method that allows accessing all properties that this builder currently contains.Note that properties are returned in order that properties are ordered (explictly, or by rule), which is the serialization order.
-
findProperty
public SettableBeanProperty findProperty(PropertyName propertyName)
-
hasProperty
public boolean hasProperty(PropertyName propertyName)
-
removeProperty
public SettableBeanProperty removeProperty(PropertyName name)
-
getAnySetter
public SettableAnyProperty getAnySetter()
-
getValueInstantiator
public ValueInstantiator getValueInstantiator()
-
getInjectables
public java.util.List<ValueInjector> getInjectables()
-
getObjectIdReader
public ObjectIdReader getObjectIdReader()
-
getBuildMethod
public AnnotatedMethod getBuildMethod()
-
getBuilderConfig
public JsonPOJOBuilder.Value getBuilderConfig()
-
hasIgnorable
public boolean hasIgnorable(java.lang.String name)
- Since:
- 2.9.4
-
build
public JsonDeserializer<?> build()
Method for constructing aBeanDeserializer
, given all information collected.
-
buildAbstract
public AbstractDeserializer buildAbstract()
Alternate build method used when we must be using some form of abstract resolution, usually by using addition Type Id ("polymorphic deserialization")- Since:
- 2.0
-
buildBuilderBased
public JsonDeserializer<?> buildBuilderBased(JavaType valueType, java.lang.String expBuildMethodName) throws JsonMappingException
Method for constructing a specialized deserializer that uses additional external Builder object during data binding.- Throws:
JsonMappingException
-
-