Package com.fasterxml.jackson.databind.introspect
Functionality needed for Bean introspection, required for detecting
accessors and mutators for Beans, as well as locating and handling
method annotations.
Beyond collecting annotations, additional "method annotation inheritance" is also supported: whereas regular JDK classes do not add annotations from overridden methods in any situation. But code in this package does. Similarly class-annotations are inherited properly from interfaces, in addition to abstract and concrete classes.
-
Interface Summary Interface Description ClassIntrospector.MixInResolver Interface used for decoupling details of how mix-in annotation definitions are accessed (via this interface), and how they are stored (defined by classes that implement the interface)DefaultAccessorNamingStrategy.BaseNameValidator Definition of a handler API to use for checking whether given base name (remainder of accessor method name after removing prefix) is acceptable based on various rules.TypeResolutionContext Interface that defines API used by members (likeAnnotatedMethod
) to dynamically resolve types they have.VisibilityChecker<T extends VisibilityChecker<T>> Interface for object used for determine which property elements (methods, fields, constructors) can be auto-detected, with respect to their visibility modifiers.WithMember<T> -
Class Summary Class Description AccessorNamingStrategy API for handlers used to "mangle" names of "getter" and "setter" methods to find implicit property names.AccessorNamingStrategy.Base Helper class that implements all abstract methods with dummy implementations.AccessorNamingStrategy.Provider Interface for provider (factory) for constructingAccessorNamingStrategy
for given type of deserialization targetAnnotated Shared base class used for anything on which annotations (included within aAnnotationMap
).AnnotatedAndMetadata<A extends Annotated,M> Silly little "Pair" class needed for 2-element tuples (without adding dependency to one of 3rd party packages that has one).AnnotatedClass AnnotatedClass.Creators AnnotatedClassResolver Helper class that contains logic for resolving annotations to constructAnnotatedClass
instances.AnnotatedConstructor AnnotatedField Object that represents non-static (and usually non-transient/volatile) fields of a class.AnnotatedFieldCollector AnnotatedMember Intermediate base class for annotated entities that are members of a class; fields, methods and constructors.AnnotatedMethod AnnotatedMethodCollector AnnotatedMethodMap Simple helper class used to keep track of collection ofAnnotatedMethod
s, accessible by lookup.AnnotatedParameter Object that represents method parameters, mostly so that associated annotations can be processed conveniently.AnnotatedWithParams Intermediate base class that encapsulates features that constructors and methods share.AnnotationCollector Helper class used to collect annotations to be stored asAnnotations
(likeAnnotationMap
).AnnotationCollector.NoAnnotations Immutable implementation for case where no annotations are associated with an annotatable entity.AnnotationCollector.OneAnnotation AnnotationCollector.TwoAnnotations AnnotationIntrospectorPair Helper class that allows using 2 introspectors such that one introspector acts as the primary one to use; and second one as a fallback used if the primary does not provide conclusive or useful result for a method.AnnotationMap Simple helper class used to keep track of collection of Jackson Annotations associated with annotatable things (methods, constructors, classes).BasicBeanDescription DefaultBeanDescription
implementation used by Jackson.BasicClassIntrospector BeanPropertyDefinition Simple value classes that contain definitions of properties, used during introspection of properties to use for serialization and deserialization purposes.ClassIntrospector Helper class used to introspect features of POJO value classes used with Jackson.ConcreteBeanPropertyBase IntermediateBeanProperty
class shared by concrete readable- and writable property implementations for sharing common functionality.DefaultAccessorNamingStrategy DefaultAccessorNamingStrategy
used by Jackson: to be used either as-is, or as base-class with overrides.DefaultAccessorNamingStrategy.FirstCharBasedValidator Simple implementation ofDefaultAccessorNamingStrategy.BaseNameValidator
that checks the first character and nothing else.DefaultAccessorNamingStrategy.Provider Provider forDefaultAccessorNamingStrategy
.DefaultAccessorNamingStrategy.RecordNaming Implementation used for supporting "non-prefix" naming convention of Java 14java.lang.Record
types, and in particular find default accessors for declared record fields.JacksonAnnotationIntrospector AnnotationIntrospector
implementation that handles standard Jackson annotations.MemberKey Helper class needed to be able to efficiently access class member functions (Method
s andConstructor
s) inMap
s.NopAnnotationIntrospector Dummy, "no-operation" implementation ofAnnotationIntrospector
.ObjectIdInfo Container object that encapsulates information usually derived fromJsonIdentityInfo
annotation or its custom alternativesPOJOPropertiesCollector Helper class used for aggregating information about all possible properties of a POJO.POJOPropertyBuilder Helper class used for aggregating information about a single potential POJO property.SimpleMixInResolver Simple implementation ofClassIntrospector.MixInResolver
that just uses aMap
for containing mapping from target to mix-in classes.TypeResolutionContext.Basic TypeResolutionContext.Empty Dummy implementation for case where there are no bindings available (for example, for static methods and fields)VirtualAnnotatedMember Placeholder used by virtual properties as placeholder for underlyingAnnotatedMember
.VisibilityChecker.Std Default standard implementation is purely based on visibility modifier of given class members, and its configured minimum levels.