|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.codehaus.jackson.map.DeserializerFactory
org.codehaus.jackson.map.deser.BasicDeserializerFactory
org.codehaus.jackson.map.deser.BeanDeserializerFactory
public class BeanDeserializerFactory
Concrete deserializer factory class that adds full Bean deserializer construction logic using class introspection.
Since there is no caching, this factory is stateless and a globally
shared singleton instance (instance
) can be used by
DeserializerProvider
s).
Nested Class Summary | |
---|---|
static class |
BeanDeserializerFactory.ConfigImpl
Standard configuration settings container class implementation. |
Nested classes/interfaces inherited from class org.codehaus.jackson.map.DeserializerFactory |
---|
DeserializerFactory.Config |
Field Summary | |
---|---|
protected DeserializerFactory.Config |
_factoryConfig
Configuration settings for this factory; immutable instance (just like this factory), new version created via copy-constructor (fluent-style) |
static BeanDeserializerFactory |
instance
Globally shareable thread-safe instance which has no additional custom deserializers registered |
Fields inherited from class org.codehaus.jackson.map.deser.BasicDeserializerFactory |
---|
_arrayDeserializers, optionalHandlers |
Fields inherited from class org.codehaus.jackson.map.DeserializerFactory |
---|
NO_DESERIALIZERS |
Constructor Summary | |
---|---|
BeanDeserializerFactory()
Deprecated. |
|
BeanDeserializerFactory(DeserializerFactory.Config config)
|
Method Summary | |
---|---|
protected void |
_addDeserializerConstructors(DeserializationConfig config,
BasicBeanDescription beanDesc,
VisibilityChecker<?> vchecker,
AnnotationIntrospector intr,
CreatorContainer creators)
|
protected void |
_addDeserializerFactoryMethods(DeserializationConfig config,
BasicBeanDescription beanDesc,
VisibilityChecker<?> vchecker,
AnnotationIntrospector intr,
CreatorContainer creators)
|
protected JsonDeserializer<?> |
_findCustomArrayDeserializer(ArrayType type,
DeserializationConfig config,
DeserializerProvider provider,
BeanProperty property,
TypeDeserializer elementTypeDeserializer,
JsonDeserializer<?> elementDeserializer)
|
protected JsonDeserializer<Object> |
_findCustomBeanDeserializer(JavaType type,
DeserializationConfig config,
DeserializerProvider provider,
BasicBeanDescription beanDesc,
BeanProperty property)
|
protected JsonDeserializer<?> |
_findCustomCollectionDeserializer(CollectionType type,
DeserializationConfig config,
DeserializerProvider provider,
BasicBeanDescription beanDesc,
BeanProperty property,
TypeDeserializer elementTypeDeserializer,
JsonDeserializer<?> elementDeserializer)
|
protected JsonDeserializer<?> |
_findCustomCollectionLikeDeserializer(CollectionLikeType type,
DeserializationConfig config,
DeserializerProvider provider,
BasicBeanDescription beanDesc,
BeanProperty property,
TypeDeserializer elementTypeDeserializer,
JsonDeserializer<?> elementDeserializer)
|
protected JsonDeserializer<?> |
_findCustomEnumDeserializer(Class<?> type,
DeserializationConfig config,
BasicBeanDescription beanDesc,
BeanProperty property)
|
protected JsonDeserializer<?> |
_findCustomMapDeserializer(MapType type,
DeserializationConfig config,
DeserializerProvider provider,
BasicBeanDescription beanDesc,
BeanProperty property,
KeyDeserializer keyDeserializer,
TypeDeserializer elementTypeDeserializer,
JsonDeserializer<?> elementDeserializer)
|
protected JsonDeserializer<?> |
_findCustomMapLikeDeserializer(MapLikeType type,
DeserializationConfig config,
DeserializerProvider provider,
BasicBeanDescription beanDesc,
BeanProperty property,
KeyDeserializer keyDeserializer,
TypeDeserializer elementTypeDeserializer,
JsonDeserializer<?> elementDeserializer)
|
protected JsonDeserializer<?> |
_findCustomTreeNodeDeserializer(Class<? extends JsonNode> type,
DeserializationConfig config,
BeanProperty property)
|
protected JavaType |
_mapAbstractType2(DeserializationConfig config,
JavaType type)
Method that will find abstract type mapping for specified type, doing a single lookup through registered abstract type resolvers; will not do recursive lookups. |
protected void |
addBeanProps(DeserializationConfig config,
BasicBeanDescription beanDesc,
BeanDeserializerBuilder builder)
Method called to figure out settable properties for the bean deserializer to use. |
protected void |
addReferenceProperties(DeserializationConfig config,
BasicBeanDescription beanDesc,
BeanDeserializerBuilder builder)
Method that will find if bean has any managed- or back-reference properties, and if so add them to bean, to be linked during resolution phase. |
JsonDeserializer<Object> |
buildBeanDeserializer(DeserializationConfig config,
JavaType type,
BasicBeanDescription beanDesc,
BeanProperty property)
Method that is to actually build a bean deserializer instance. |
JsonDeserializer<Object> |
buildThrowableDeserializer(DeserializationConfig config,
JavaType type,
BasicBeanDescription beanDesc,
BeanProperty property)
|
protected SettableAnyProperty |
constructAnySetter(DeserializationConfig config,
BasicBeanDescription beanDesc,
AnnotatedMethod setter)
Method called to construct fallback SettableAnyProperty
for handling unknown bean properties, given a method that
has been designated as such setter. |
protected BeanDeserializerBuilder |
constructBeanDeserializerBuilder(BasicBeanDescription beanDesc)
Overridable method that constructs a BeanDeserializerBuilder
which is used to accumulate information needed to create deserializer
instance. |
protected SettableBeanProperty |
constructSettableProperty(DeserializationConfig config,
BasicBeanDescription beanDesc,
String name,
AnnotatedField field)
|
protected SettableBeanProperty |
constructSettableProperty(DeserializationConfig config,
BasicBeanDescription beanDesc,
String name,
AnnotatedMethod setter)
Method that will construct a regular bean property setter using the given setter method. |
protected SettableBeanProperty |
constructSetterlessProperty(DeserializationConfig config,
BasicBeanDescription beanDesc,
String name,
AnnotatedMethod getter)
Method that will construct a regular bean property setter using the given setter method. |
JsonDeserializer<Object> |
createBeanDeserializer(DeserializationConfig config,
DeserializerProvider p,
JavaType type,
BeanProperty property)
Method that DeserializerProvider s call to create a new
deserializer for types other than Collections, Maps, arrays and
enums. |
KeyDeserializer |
createKeyDeserializer(DeserializationConfig config,
JavaType type,
BeanProperty property)
Method called to find if factory knows how to create a key deserializer for specified type; currently this means checking if a module has registered possible deserializers. |
protected CreatorContainer |
findDeserializerCreators(DeserializationConfig config,
BasicBeanDescription beanDesc)
Method that is to find all creators (constructors, factory methods) for the bean type to deserialize. |
DeserializerFactory.Config |
getConfig()
|
protected boolean |
isIgnorableType(DeserializationConfig config,
BasicBeanDescription beanDesc,
Class<?> type,
Map<Class<?>,Boolean> ignoredTypes)
Helper method that will check whether given raw type is marked as always ignorable (for purpose of ignoring properties with type) |
protected boolean |
isPotentialBeanType(Class<?> type)
Helper method used to skip processing for types that we know can not be (i.e. |
protected JavaType |
mapAbstractType(DeserializationConfig config,
JavaType type)
Method that will find complete abstract type mapping for specified type, doing as many resolution steps as necessary. |
protected JavaType |
materializeAbstractType(DeserializationConfig config,
BasicBeanDescription beanDesc)
|
DeserializerFactory |
withConfig(DeserializerFactory.Config config)
Method used by module registration functionality, to construct a new bean deserializer factory with different configuration settings. |
Methods inherited from class org.codehaus.jackson.map.DeserializerFactory |
---|
createArrayDeserializer, createBeanDeserializer, createCollectionDeserializer, createEnumDeserializer, createMapDeserializer, createTreeDeserializer, findTypeDeserializer, withAbstractTypeResolver, withAdditionalDeserializers, withAdditionalKeyDeserializers, withDeserializerModifier |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final BeanDeserializerFactory instance
protected final DeserializerFactory.Config _factoryConfig
Constructor Detail |
---|
@Deprecated public BeanDeserializerFactory()
public BeanDeserializerFactory(DeserializerFactory.Config config)
Method Detail |
---|
public final DeserializerFactory.Config getConfig()
getConfig
in class DeserializerFactory
public DeserializerFactory withConfig(DeserializerFactory.Config config)
withConfig
in class BasicDeserializerFactory
public KeyDeserializer createKeyDeserializer(DeserializationConfig config, JavaType type, BeanProperty property) throws JsonMappingException
DeserializerFactory
createKeyDeserializer
in class DeserializerFactory
JsonMappingException
protected JsonDeserializer<?> _findCustomArrayDeserializer(ArrayType type, DeserializationConfig config, DeserializerProvider provider, BeanProperty property, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer) throws JsonMappingException
_findCustomArrayDeserializer
in class BasicDeserializerFactory
JsonMappingException
protected JsonDeserializer<?> _findCustomCollectionDeserializer(CollectionType type, DeserializationConfig config, DeserializerProvider provider, BasicBeanDescription beanDesc, BeanProperty property, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer) throws JsonMappingException
_findCustomCollectionDeserializer
in class BasicDeserializerFactory
JsonMappingException
protected JsonDeserializer<?> _findCustomCollectionLikeDeserializer(CollectionLikeType type, DeserializationConfig config, DeserializerProvider provider, BasicBeanDescription beanDesc, BeanProperty property, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer) throws JsonMappingException
_findCustomCollectionLikeDeserializer
in class BasicDeserializerFactory
JsonMappingException
protected JsonDeserializer<?> _findCustomEnumDeserializer(Class<?> type, DeserializationConfig config, BasicBeanDescription beanDesc, BeanProperty property) throws JsonMappingException
_findCustomEnumDeserializer
in class BasicDeserializerFactory
JsonMappingException
protected JsonDeserializer<?> _findCustomMapDeserializer(MapType type, DeserializationConfig config, DeserializerProvider provider, BasicBeanDescription beanDesc, BeanProperty property, KeyDeserializer keyDeserializer, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer) throws JsonMappingException
_findCustomMapDeserializer
in class BasicDeserializerFactory
JsonMappingException
protected JsonDeserializer<?> _findCustomMapLikeDeserializer(MapLikeType type, DeserializationConfig config, DeserializerProvider provider, BasicBeanDescription beanDesc, BeanProperty property, KeyDeserializer keyDeserializer, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer) throws JsonMappingException
_findCustomMapLikeDeserializer
in class BasicDeserializerFactory
JsonMappingException
protected JsonDeserializer<?> _findCustomTreeNodeDeserializer(Class<? extends JsonNode> type, DeserializationConfig config, BeanProperty property) throws JsonMappingException
_findCustomTreeNodeDeserializer
in class BasicDeserializerFactory
JsonMappingException
protected JsonDeserializer<Object> _findCustomBeanDeserializer(JavaType type, DeserializationConfig config, DeserializerProvider provider, BasicBeanDescription beanDesc, BeanProperty property) throws JsonMappingException
JsonMappingException
public JsonDeserializer<Object> createBeanDeserializer(DeserializationConfig config, DeserializerProvider p, JavaType type, BeanProperty property) throws JsonMappingException
DeserializerProvider
s call to create a new
deserializer for types other than Collections, Maps, arrays and
enums.
createBeanDeserializer
in class DeserializerFactory
p
- Provider that can be called to create deserializers for
contained member typestype
- Type to be deserialized
JsonMappingException
protected JavaType mapAbstractType(DeserializationConfig config, JavaType type) throws JsonMappingException
mapAbstractType
in class BasicDeserializerFactory
JsonMappingException
protected JavaType _mapAbstractType2(DeserializationConfig config, JavaType type) throws JsonMappingException
JsonMappingException
protected JavaType materializeAbstractType(DeserializationConfig config, BasicBeanDescription beanDesc) throws JsonMappingException
JsonMappingException
public JsonDeserializer<Object> buildBeanDeserializer(DeserializationConfig config, JavaType type, BasicBeanDescription beanDesc, BeanProperty property) throws JsonMappingException
JsonMappingException
public JsonDeserializer<Object> buildThrowableDeserializer(DeserializationConfig config, JavaType type, BasicBeanDescription beanDesc, BeanProperty property) throws JsonMappingException
JsonMappingException
protected BeanDeserializerBuilder constructBeanDeserializerBuilder(BasicBeanDescription beanDesc)
BeanDeserializerBuilder
which is used to accumulate information needed to create deserializer
instance.
protected CreatorContainer findDeserializerCreators(DeserializationConfig config, BasicBeanDescription beanDesc) throws JsonMappingException
JsonMappingException
protected void _addDeserializerConstructors(DeserializationConfig config, BasicBeanDescription beanDesc, VisibilityChecker<?> vchecker, AnnotationIntrospector intr, CreatorContainer creators) throws JsonMappingException
JsonMappingException
protected void _addDeserializerFactoryMethods(DeserializationConfig config, BasicBeanDescription beanDesc, VisibilityChecker<?> vchecker, AnnotationIntrospector intr, CreatorContainer creators) throws JsonMappingException
JsonMappingException
protected void addBeanProps(DeserializationConfig config, BasicBeanDescription beanDesc, BeanDeserializerBuilder builder) throws JsonMappingException
Note: designed to be overridable, and effort is made to keep interface similar between versions.
JsonMappingException
protected void addReferenceProperties(DeserializationConfig config, BasicBeanDescription beanDesc, BeanDeserializerBuilder builder) throws JsonMappingException
JsonMappingException
protected SettableAnyProperty constructAnySetter(DeserializationConfig config, BasicBeanDescription beanDesc, AnnotatedMethod setter) throws JsonMappingException
SettableAnyProperty
for handling unknown bean properties, given a method that
has been designated as such setter.
JsonMappingException
protected SettableBeanProperty constructSettableProperty(DeserializationConfig config, BasicBeanDescription beanDesc, String name, AnnotatedMethod setter) throws JsonMappingException
setter
- Method to use to set property value; or null if none.
Null only for "setterless" properties
JsonMappingException
protected SettableBeanProperty constructSettableProperty(DeserializationConfig config, BasicBeanDescription beanDesc, String name, AnnotatedField field) throws JsonMappingException
JsonMappingException
protected SettableBeanProperty constructSetterlessProperty(DeserializationConfig config, BasicBeanDescription beanDesc, String name, AnnotatedMethod getter) throws JsonMappingException
getter
- Method to use to get property value to modify, null if
none. Non-null for "setterless" properties.
JsonMappingException
protected boolean isPotentialBeanType(Class<?> type)
Note that usually we shouldn't really be getting these sort of types anyway; but better safe than sorry.
protected boolean isIgnorableType(DeserializationConfig config, BasicBeanDescription beanDesc, Class<?> type, Map<Class<?>,Boolean> ignoredTypes)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |