|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.fasterxml.jackson.databind.BeanDescription
public abstract class BeanDescription
Basic container for information gathered by ClassIntrospector
to
help in constructing serializers and deserializers.
Note that the main implementation type is
BasicBeanDescription
,
meaning that it is safe to upcast to this type.
Field Summary | |
---|---|
protected JavaType |
_type
Bean type information, including raw class and possible * generics information |
Constructor Summary | |
---|---|
protected |
BeanDescription(JavaType type)
|
Method Summary | |
---|---|
abstract 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. |
abstract AnnotatedMember |
findAnyGetter()
|
abstract AnnotatedMethod |
findAnySetter()
Method used to locate the method of introspected class that implements JsonAnySetter . |
abstract Map<String,AnnotatedMember> |
findBackReferenceProperties()
Method for locating all back-reference properties (setters, fields) bean has |
abstract 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. |
abstract 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. |
abstract Map<Object,AnnotatedMember> |
findInjectables()
|
abstract AnnotatedMethod |
findJsonValueMethod()
Method for locating the getter method that is annotated with JsonValue annotation,
if any. |
abstract AnnotatedMethod |
findMethod(String name,
Class<?>[] paramTypes)
|
abstract 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. |
abstract JsonPOJOBuilder.Value |
findPOJOBuilderConfig()
Method for finding configuration for POJO Builder class. |
abstract List<BeanPropertyDefinition> |
findProperties()
|
abstract com.fasterxml.jackson.annotation.JsonInclude.Include |
findSerializationInclusion(com.fasterxml.jackson.annotation.JsonInclude.Include defValue)
|
abstract 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) |
Class<?> |
getBeanClass()
|
abstract Annotations |
getClassAnnotations()
Method for accessing collection of annotations the bean class has. |
abstract AnnotatedClass |
getClassInfo()
Method for accessing low-level information about Class this item describes. |
abstract List<AnnotatedConstructor> |
getConstructors()
|
abstract List<AnnotatedMethod> |
getFactoryMethods()
|
abstract Set<String> |
getIgnoredPropertyNames()
|
abstract ObjectIdInfo |
getObjectIdInfo()
Accessor for getting information about Object Id expected to be used for this POJO type, if any. |
JavaType |
getType()
Method for accessing declared type of bean being introspected, including full generic type information (from declaration) |
abstract boolean |
hasKnownClassAnnotations()
Method for checking whether class being described has any annotations recognized by registered annotation introspector. |
abstract 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". |
abstract JavaType |
resolveType(Type jdkType)
Method for resolving given JDK type, using this bean as the generic type resolution context. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected final JavaType _type
Constructor Detail |
---|
protected BeanDescription(JavaType type)
Method Detail |
---|
public JavaType getType()
public Class<?> getBeanClass()
public abstract AnnotatedClass getClassInfo()
public abstract ObjectIdInfo getObjectIdInfo()
public abstract boolean hasKnownClassAnnotations()
public abstract TypeBindings bindingsForBeanType()
public abstract JavaType resolveType(Type jdkType)
public abstract Annotations getClassAnnotations()
public abstract List<BeanPropertyDefinition> findProperties()
public abstract Map<String,AnnotatedMember> findBackReferenceProperties()
public abstract Set<String> getIgnoredPropertyNames()
public abstract List<AnnotatedConstructor> getConstructors()
public abstract List<AnnotatedMethod> getFactoryMethods()
public abstract AnnotatedConstructor findDefaultConstructor()
public abstract Constructor<?> findSingleArgConstructor(Class<?>... argTypes)
argTypes
- Type(s) of the argument that we are looking forpublic abstract Method findFactoryMethod(Class<?>... expArgTypes)
expArgTypes
- 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)public abstract AnnotatedMember findAnyGetter()
public abstract AnnotatedMethod findAnySetter()
JsonAnySetter
. 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.
public abstract AnnotatedMethod findJsonValueMethod()
JsonValue
annotation,
if any. If multiple ones are found,
an error is reported by throwing IllegalArgumentException
public abstract AnnotatedMethod findMethod(String name, Class<?>[] paramTypes)
public abstract Map<Object,AnnotatedMember> findInjectables()
public abstract com.fasterxml.jackson.annotation.JsonInclude.Include findSerializationInclusion(com.fasterxml.jackson.annotation.JsonInclude.Include defValue)
public abstract Class<?> findPOJOBuilder()
public abstract JsonPOJOBuilder.Value findPOJOBuilderConfig()
public abstract Object instantiateBean(boolean fixAccess)
fixAccess
- 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.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |