|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.fasterxml.jackson.databind.BeanDescription
com.fasterxml.jackson.databind.introspect.BasicBeanDescription
public class BasicBeanDescription
Default BeanDescription implementation.
Can theoretically be subclassed to customize
some aspects of property introspection.
| Field Summary | |
|---|---|
protected AnnotationIntrospector |
_annotationIntrospector
|
protected AnnotatedMember |
_anyGetter
|
protected AnnotatedMethod |
_anySetterMethod
|
protected TypeBindings |
_bindings
We may need type bindings for the bean type. |
protected AnnotatedClass |
_classInfo
Information collected about the class introspected. |
protected MapperConfig<?> |
_config
|
protected Set<String> |
_ignoredPropertyNames
Set of properties that can be ignored during deserialization, due to being marked as ignored. |
protected Map<Object,AnnotatedMember> |
_injectables
|
protected AnnotatedMethod |
_jsonValueMethod
|
protected ObjectIdInfo |
_objectIdInfo
Details of Object Id to include, if any |
protected List<BeanPropertyDefinition> |
_properties
Properties collected for the POJO. |
| Fields inherited from class com.fasterxml.jackson.databind.BeanDescription |
|---|
_type |
| Constructor Summary | |
|---|---|
protected |
BasicBeanDescription(MapperConfig<?> config,
JavaType type,
AnnotatedClass classDef,
List<BeanPropertyDefinition> props)
|
protected |
BasicBeanDescription(POJOPropertiesCollector coll)
|
| Method Summary | |
|---|---|
LinkedHashMap<String,AnnotatedField> |
_findPropertyFields(Collection<String> ignoredProperties,
boolean forSerialization)
|
TypeBindings |
bindingsForBeanType()
Accessor for type bindings that may be needed to fully resolve types of member object, such as return and argument types of methods and constructors, and types of fields. |
AnnotatedMember |
findAnyGetter()
Method used to locate the method of introspected class that implements JsonAnyGetter. |
AnnotatedMethod |
findAnySetter()
Method used to locate the method of introspected class that implements JsonAnySetter. |
Map<String,AnnotatedMember> |
findBackReferenceProperties()
Method for locating all back-reference properties (setters, fields) bean has |
List<String> |
findCreatorPropertyNames()
Method for getting ordered list of named Creator properties. |
AnnotatedConstructor |
findDefaultConstructor()
Method that will locate the no-arg constructor for this class, if it has one, and that constructor has not been marked as ignorable. |
JsonFormat.Value |
findExpectedFormat(JsonFormat.Value defValue)
Method for checking what is the expected format for POJO, as defined by defaults and possible annotations. |
Method |
findFactoryMethod(Class<?>... expArgTypes)
Method that can be called to find if introspected class declares a static "valueOf" factory method that returns an instance of introspected type, given one of acceptable types. |
Map<Object,AnnotatedMember> |
findInjectables()
|
AnnotatedMethod |
findJsonValueMethod()
Method for locating the getter method that is annotated with JsonValue annotation,
if any. |
AnnotatedMethod |
findMethod(String name,
Class<?>[] paramTypes)
|
Class<?> |
findPOJOBuilder()
Method for checking if the POJO type has annotations to indicate that a builder is to be used for instantiating instances and handling data binding, instead of standard bean deserializer. |
JsonPOJOBuilder.Value |
findPOJOBuilderConfig()
Method for finding configuration for POJO Builder class. |
List<BeanPropertyDefinition> |
findProperties()
|
JsonInclude.Include |
findSerializationInclusion(JsonInclude.Include defValue)
Method for determining whether null properties should be written out for a Bean of introspected type. |
Constructor<?> |
findSingleArgConstructor(Class<?>... argTypes)
Method that can be called to locate a single-arg constructor that takes specified exact type (will not accept supertype constructors) |
static BasicBeanDescription |
forDeserialization(POJOPropertiesCollector coll)
Factory method to use for constructing an instance to use for building deserializers. |
static BasicBeanDescription |
forOtherUse(MapperConfig<?> config,
JavaType type,
AnnotatedClass ac)
Factory method to use for constructing an instance to use for purposes other than building serializers or deserializers; will only have information on class, not on properties. |
static BasicBeanDescription |
forSerialization(POJOPropertiesCollector coll)
Factory method to use for constructing an instance to use for building serializers. |
Annotations |
getClassAnnotations()
Method for accessing collection of annotations the bean class has. |
AnnotatedClass |
getClassInfo()
Method for accessing low-level information about Class this item describes. |
List<AnnotatedConstructor> |
getConstructors()
|
List<AnnotatedMethod> |
getFactoryMethods()
|
Set<String> |
getIgnoredPropertyNames()
|
ObjectIdInfo |
getObjectIdInfo()
Accessor for getting information about Object Id expected to be used for this POJO type, if any. |
boolean |
hasKnownClassAnnotations()
Method for checking whether class being described has any annotations recognized by registered annotation introspector. |
Object |
instantiateBean(boolean fixAccess)
Method called to create a "default instance" of the bean, currently only needed for obtaining default field values which may be used for suppressing serialization of fields that have "not changed". |
protected boolean |
isFactoryMethod(AnnotatedMethod am)
|
boolean |
removeProperty(String propName)
Method that can be used to prune unwanted properties, during construction of serializers and deserializers. |
JavaType |
resolveType(Type jdkType)
Method for resolving given JDK type, using this bean as the generic type resolution context. |
| Methods inherited from class com.fasterxml.jackson.databind.BeanDescription |
|---|
getBeanClass, getType |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected final MapperConfig<?> _config
protected final AnnotationIntrospector _annotationIntrospector
protected final AnnotatedClass _classInfo
protected TypeBindings _bindings
protected final List<BeanPropertyDefinition> _properties
protected ObjectIdInfo _objectIdInfo
protected AnnotatedMethod _anySetterMethod
protected Map<Object,AnnotatedMember> _injectables
protected Set<String> _ignoredPropertyNames
protected AnnotatedMethod _jsonValueMethod
protected AnnotatedMember _anyGetter
| Constructor Detail |
|---|
protected BasicBeanDescription(MapperConfig<?> config,
JavaType type,
AnnotatedClass classDef,
List<BeanPropertyDefinition> props)
protected BasicBeanDescription(POJOPropertiesCollector coll)
| Method Detail |
|---|
public static BasicBeanDescription forDeserialization(POJOPropertiesCollector coll)
public static BasicBeanDescription forSerialization(POJOPropertiesCollector coll)
public static BasicBeanDescription forOtherUse(MapperConfig<?> config,
JavaType type,
AnnotatedClass ac)
public boolean removeProperty(String propName)
public AnnotatedClass getClassInfo()
BeanDescription
getClassInfo in class BeanDescriptionpublic ObjectIdInfo getObjectIdInfo()
BeanDescription
getObjectIdInfo in class BeanDescriptionpublic List<BeanPropertyDefinition> findProperties()
findProperties in class BeanDescriptionpublic AnnotatedMethod findJsonValueMethod()
BeanDescriptionJsonValue annotation,
if any. If multiple ones are found,
an error is reported by throwing IllegalArgumentException
findJsonValueMethod in class BeanDescriptionpublic Set<String> getIgnoredPropertyNames()
getIgnoredPropertyNames in class BeanDescriptionpublic boolean hasKnownClassAnnotations()
BeanDescription
hasKnownClassAnnotations in class BeanDescriptionpublic Annotations getClassAnnotations()
BeanDescription
getClassAnnotations in class BeanDescriptionpublic TypeBindings bindingsForBeanType()
BeanDescription
bindingsForBeanType in class BeanDescriptionpublic JavaType resolveType(Type jdkType)
BeanDescription
resolveType in class BeanDescriptionpublic AnnotatedConstructor findDefaultConstructor()
BeanDescription
findDefaultConstructor in class BeanDescription
public AnnotatedMethod findAnySetter()
throws IllegalArgumentException
BeanDescriptionJsonAnySetter. If no such method exists
null is returned. If more than one are found, an exception
is thrown.
Additional checks are also made to see that method signature
is acceptable: needs to take 2 arguments, first one String or
Object; second any can be any type.
findAnySetter in class BeanDescriptionIllegalArgumentExceptionpublic Map<Object,AnnotatedMember> findInjectables()
findInjectables in class BeanDescriptionpublic List<AnnotatedConstructor> getConstructors()
getConstructors in class BeanDescriptionpublic Object instantiateBean(boolean fixAccess)
BeanDescription
instantiateBean in class BeanDescriptionfixAccess - If true, method is allowed to fix access to the
default constructor (to be able to call non-public constructor);
if false, has to use constructor as is.
public AnnotatedMethod findMethod(String name,
Class<?>[] paramTypes)
findMethod in class BeanDescriptionpublic JsonFormat.Value findExpectedFormat(JsonFormat.Value defValue)
BeanDescription
findExpectedFormat in class BeanDescriptionpublic List<AnnotatedMethod> getFactoryMethods()
getFactoryMethods in class BeanDescriptionpublic Constructor<?> findSingleArgConstructor(Class<?>... argTypes)
BeanDescription
findSingleArgConstructor in class BeanDescriptionargTypes - Type(s) of the argument that we are looking forpublic Method findFactoryMethod(Class<?>... expArgTypes)
BeanDescription
findFactoryMethod in class BeanDescriptionexpArgTypes - Types that the matching single argument factory
method can take: will also accept super types of these types
(ie. arg just has to be assignable from expArgType)protected boolean isFactoryMethod(AnnotatedMethod am)
public List<String> findCreatorPropertyNames()
public JsonInclude.Include findSerializationInclusion(JsonInclude.Include defValue)
findSerializationInclusion in class BeanDescription
public AnnotatedMember findAnyGetter()
throws IllegalArgumentException
JsonAnyGetter.
If no such method exists null is returned.
If more than one are found, an exception is thrown.
findAnyGetter in class BeanDescriptionIllegalArgumentExceptionpublic Map<String,AnnotatedMember> findBackReferenceProperties()
BeanDescription
findBackReferenceProperties in class BeanDescriptionpublic Class<?> findPOJOBuilder()
BeanDescription
findPOJOBuilder in class BeanDescriptionpublic JsonPOJOBuilder.Value findPOJOBuilderConfig()
BeanDescription
findPOJOBuilderConfig in class BeanDescription
public LinkedHashMap<String,AnnotatedField> _findPropertyFields(Collection<String> ignoredProperties,
boolean forSerialization)
ignoredProperties - (optional) names of properties to ignore;
any fields that would be recognized as one of these properties
is ignored.forSerialization - If true, will collect serializable property
fields; if false, deserializable
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||