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.
If property is indicated to be wrapped, name of
wrapper element to use.
Whether value for property is marked as required using
annotations or associated schema.
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.
Method that can be called to visit the type structure that this
property is part of.
Note that not all implementations support traversal with this
method; those that do not should throw
objectVisitor Visitor to used as the callback handler
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
Implementation of this method throws
, since instances of this
implementation should not be used as part of actual structure
visited. Rather, other implementations should handle it.
+" should not get visited");