Package org.codehaus.jackson.map.deser
Class BeanDeserializerBuilder
java.lang.Object
org.codehaus.jackson.map.deser.BeanDeserializerBuilder
Builder class used for aggregating deserialization information about
a POJO, in order to build a
JsonDeserializer
for deserializing
intances.- Since:
- 1.7
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected SettableAnyProperty
Fallback setter used for handling any properties that are not mapped to regular setters.protected HashMap<String,
SettableBeanProperty> Back-reference properties this bean contains (if any)protected final BasicBeanDescription
Set of names of properties that are recognized but are to be ignored for deserialization purposes (meaning no exception is thrown, value is just skipped).protected boolean
Flag that can be set to ignore and skip unknown properties.protected List<ValueInjector>
Value injectors for deserializationprotected final HashMap<String,
SettableBeanProperty> Properties to deserialize collected so far.protected ValueInstantiator
Object that will handle value instantiation for the bean type. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
Copy constructor for sub-classes to use, when constructing custom builder instancesBeanDeserializerBuilder
(BasicBeanDescription beanDesc) -
Method Summary
Modifier and TypeMethodDescriptionvoid
addBackReferenceProperty
(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
(BeanPropertyDefinition propDef) 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
(String propName) Method that will add property name as one of properties that can be ignored if not recognized.void
addInjectable
(String propertyName, JavaType propertyType, Annotations contextAnnotations, AnnotatedMember member, Object valueId) void
addOrReplaceProperty
(SettableBeanProperty prop, boolean allowOverride) Method for adding a new property or replacing a property.void
Method to add a property setter.build
(BeanProperty forProperty) Method that allows accessing all properties that this builder currently contains.boolean
hasProperty
(String propertyName) removeProperty
(String name) void
void
setIgnoreUnknownProperties
(boolean ignore) void
-
Field Details
-
_beanDesc
-
_properties
Properties to deserialize collected so far.Note: since 1.9.1, LinkedHashMap has been used, since preservation of order is actually important for some use cases.
-
_injectables
Value injectors for deserialization- Since:
- 1.9
-
_backRefProperties
Back-reference properties this bean contains (if any) -
_ignorableProps
Set of names of properties that are recognized but are to be ignored for deserialization purposes (meaning no exception is thrown, value is just skipped). -
_valueInstantiator
Object that will handle value instantiation for the bean type.- Since:
- 1.9
-
_anySetter
Fallback setter used for handling any properties that are not mapped to regular setters. If setter is not null, it will be called once for each such property. -
_ignoreAllUnknown
protected boolean _ignoreAllUnknownFlag that can be set to ignore and skip unknown properties. If set, will not throw an exception for unknown properties.
-
-
Constructor Details
-
BeanDeserializerBuilder
-
BeanDeserializerBuilder
Copy constructor for sub-classes to use, when constructing custom builder instances- Since:
- 1.9
-
-
Method Details
-
addOrReplaceProperty
Method for adding a new property or replacing a property. -
addProperty
Method to add a property setter. Will ensure that there is no unexpected override; if one is found will throw aIllegalArgumentException
. -
addBackReferenceProperty
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(String propertyName, JavaType propertyType, Annotations contextAnnotations, AnnotatedMember member, Object valueId) - Since:
- 1.9
-
addIgnorable
Method that will add property name as one of properties that can be ignored if not recognized. -
addCreatorProperty
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).
- Since:
- 1.9.2
-
setAnySetter
-
setIgnoreUnknownProperties
public void setIgnoreUnknownProperties(boolean ignore) -
setValueInstantiator
- Since:
- 1.9
-
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.
- Since:
- 1.8.3
-
hasProperty
-
removeProperty
-
getValueInstantiator
- Since:
- 1.9
-
build
-