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.MixInResolverInterface 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.BaseNameValidatorDefinition 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. TypeResolutionContextInterface that defines API used by members (like
AnnotatedMethod) 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 AccessorNamingStrategyAPI for handlers used to "mangle" names of "getter" and "setter" methods to find implicit property names. AccessorNamingStrategy.BaseHelper class that implements all abstract methods with dummy implementations. AccessorNamingStrategy.ProviderInterface for provider (factory) for constructing
AccessorNamingStrategyfor given type of deserialization target
AnnotatedShared base class used for anything on which annotations (included within a
AnnotatedClass AnnotatedClass.Creators AnnotatedClassResolverHelper class that contains logic for resolving annotations to construct
AnnotatedConstructor AnnotatedFieldObject that represents non-static (and usually non-transient/volatile) fields of a class. AnnotatedFieldCollector AnnotatedMemberIntermediate base class for annotated entities that are members of a class; fields, methods and constructors. AnnotatedMethod AnnotatedMethodCollector AnnotatedMethodMapSimple helper class used to keep track of collection of
AnnotatedMethods, accessible by lookup.
AnnotatedParameterObject that represents method parameters, mostly so that associated annotations can be processed conveniently. AnnotatedWithParamsIntermediate base class that encapsulates features that constructors and methods share. AnnotationCollector AnnotationCollector.NoAnnotationsImmutable implementation for case where no annotations are associated with an annotatable entity. AnnotationCollector.OneAnnotation AnnotationCollector.TwoAnnotations AnnotationIntrospectorPairHelper 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. AnnotationMapSimple helper class used to keep track of collection of Jackson Annotations associated with annotatable things (methods, constructors, classes). BasicBeanDescriptionDefault
BeanDescriptionimplementation used by Jackson.
BasicClassIntrospector BeanPropertyDefinitionSimple value classes that contain definitions of properties, used during introspection of properties to use for serialization and deserialization purposes. ClassIntrospectorHelper class used to introspect features of POJO value classes used with Jackson. ConcreteBeanPropertyBaseIntermediate
BeanPropertyclass shared by concrete readable- and writable property implementations for sharing common functionality.
AccessorNamingStrategyused by Jackson: to be used either as-is, or as base-class with overrides.
DefaultAccessorNamingStrategy.FirstCharBasedValidatorSimple implementation of
DefaultAccessorNamingStrategy.BaseNameValidatorthat checks the first character and nothing else.
DefaultAccessorNamingStrategy.RecordNamingImplementation used for supporting "non-prefix" naming convention of Java 14
java.lang.Recordtypes, and in particular find default accessors for declared record fields.
AnnotationIntrospectorimplementation that handles standard Jackson annotations.
MemberKey NopAnnotationIntrospectorDummy, "no-operation" implementation of
ObjectIdInfoContainer object that encapsulates information usually derived from
JsonIdentityInfoannotation or its custom alternatives
POJOPropertiesCollectorHelper class used for aggregating information about all possible properties of a POJO. POJOPropertyBuilderHelper class used for aggregating information about a single potential POJO property. SimpleMixInResolver TypeResolutionContext.Basic TypeResolutionContext.EmptyDummy implementation for case where there are no bindings available (for example, for static methods and fields) VirtualAnnotatedMemberPlaceholder used by virtual properties as placeholder for underlying
VisibilityChecker.StdDefault standard implementation is purely based on visibility modifier of given class members, and its configured minimum levels.