Bean properties are logical entities that represent data
that Java objects (POJOs (Plain Old Java Objects), sometimes also called "beans")
contain; and that are accessed using accessors (methods like getters
and setters, fields, contstructor parametrers).
Instances allow access to annotations directly associated
to property (via field or method), as well as contextual
annotations (annotations for class that contains properties).
Instances are not typically passed when constructing serializers
and deserializers, but rather only passed when context
is known when
resolution occurs (
createContextual(...) method is called).
References may (need to) be retained by serializers and deserializers,
especially when further resolving dependant handlers like value
serializers/deserializers or structured types.
Method to get logical name of the property
Method to get declared type of the property.
Method for finding annotation associated with this property;
meaning annotation associated with one of entities used to
Method for finding annotation associated with context of
this property; usually class in which member is declared
(or its subtype if processing subtype).
Method for accessing primary physical entity that represents the property;
annotated field, method or constructor property.
Simple stand-alone implementation, useful as a placeholder
or base class for more complex implementations.
Physical entity (field, method or constructor argument) that
is used to access value of property (or in case of constructor
property, just placeholder)
Annotations defined in the context class (if any); may be null
if no annotations were found