public interface BeanProperty extends Named
Instances are not typically passed when constructing serializers
and deserializers, but rather only passed when context
is known when
ContextualSerializer
and
ContextualDeserializer
resolution occurs (createContextual(...)
method is called).
References may (need to) be retained by serializers and deserializers,
especially when further resolving dependent handlers like value
serializers/deserializers or structured types.
Modifier and Type | Interface and Description |
---|---|
static class |
BeanProperty.Bogus
Alternative "Null" implementation that can be used in cases where a non-null
BeanProperty is needed |
static class |
BeanProperty.Std
Simple stand-alone implementation, useful as a placeholder
or base class for more complex implementations.
|
Modifier and Type | Field and Description |
---|---|
static com.fasterxml.jackson.annotation.JsonFormat.Value |
EMPTY_FORMAT |
static com.fasterxml.jackson.annotation.JsonInclude.Value |
EMPTY_INCLUDE |
Modifier and Type | Method and Description |
---|---|
void |
depositSchemaProperty(JsonObjectFormatVisitor objectVisitor,
SerializerProvider provider)
Method that can be called to visit the type structure that this
property is part of.
|
List<PropertyName> |
findAliases(MapperConfig<?> config)
Method for accessing set of possible alternate names that are accepted
during deserialization.
|
com.fasterxml.jackson.annotation.JsonFormat.Value |
findFormatOverrides(AnnotationIntrospector intr)
Deprecated.
since 2.8 use
findPropertyFormat(com.fasterxml.jackson.databind.cfg.MapperConfig<?>, java.lang.Class<?>) instead. |
com.fasterxml.jackson.annotation.JsonFormat.Value |
findPropertyFormat(MapperConfig<?> config,
Class<?> baseType)
Helper method used to look up format settings applicable to this property,
considering both possible per-type configuration settings
|
com.fasterxml.jackson.annotation.JsonInclude.Value |
findPropertyInclusion(MapperConfig<?> config,
Class<?> baseType)
Convenience method that is roughly equivalent to
|
<A extends Annotation> |
getAnnotation(Class<A> acls)
Method for finding annotation associated with this property;
meaning annotation associated with one of entities used to
access property.
|
<A extends Annotation> |
getContextAnnotation(Class<A> acls)
Method for finding annotation associated with context of
this property; usually class in which member is declared
(or its subtype if processing subtype).
|
PropertyName |
getFullName()
Method for getting full name definition, including possible
format-specific additional properties (such as namespace when
using XML backend).
|
AnnotatedMember |
getMember()
Method for accessing primary physical entity that represents the property;
annotated field, method or constructor property.
|
PropertyMetadata |
getMetadata()
Accessor for additional optional information about property.
|
String |
getName()
Method to get logical name of the property
|
JavaType |
getType()
Method to get declared type of the property.
|
PropertyName |
getWrapperName()
If property is indicated to be wrapped, name of
wrapper element to use.
|
boolean |
isRequired()
Whether value for property is marked as required using
annotations or associated schema.
|
boolean |
isVirtual()
Accessor for checking whether there is an actual physical property
behind this property abstraction or not.
|
static final com.fasterxml.jackson.annotation.JsonFormat.Value EMPTY_FORMAT
static final com.fasterxml.jackson.annotation.JsonInclude.Value EMPTY_INCLUDE
String getName()
PropertyName getFullName()
JavaType getType()
PropertyName getWrapperName()
PropertyMetadata getMetadata()
boolean isRequired()
getMetadata().isRequired()
boolean isVirtual()
<A extends Annotation> A getAnnotation(Class<A> acls)
Note that this method should only be called for custom annotations;
access to standard Jackson annotations (or ones supported by
alternate AnnotationIntrospector
s) should be accessed
through AnnotationIntrospector
.
<A extends Annotation> A getContextAnnotation(Class<A> acls)
Note that this method should only be called for custom annotations;
access to standard Jackson annotations (or ones supported by
alternate AnnotationIntrospector
s) should be accessed
through AnnotationIntrospector
.
AnnotatedMember getMember()
@Deprecated com.fasterxml.jackson.annotation.JsonFormat.Value findFormatOverrides(AnnotationIntrospector intr)
findPropertyFormat(com.fasterxml.jackson.databind.cfg.MapperConfig<?>, java.lang.Class<?>)
instead.return intr.findFormat(getMember());and specifically does NOT try to find per-type format defaults to merge; use
findPropertyFormat(com.fasterxml.jackson.databind.cfg.MapperConfig<?>, java.lang.Class<?>)
if such defaults would be useful.com.fasterxml.jackson.annotation.JsonFormat.Value findPropertyFormat(MapperConfig<?> config, Class<?> baseType)
com.fasterxml.jackson.annotation.JsonInclude.Value findPropertyInclusion(MapperConfig<?> config, Class<?> baseType)
return config.getAnnotationIntrospector().findPropertyInclusion(getMember());but also considers global default settings for inclusion
List<PropertyName> findAliases(MapperConfig<?> config)
void depositSchemaProperty(JsonObjectFormatVisitor objectVisitor, SerializerProvider provider) throws JsonMappingException
UnsupportedOperationException
.
NOTE: Starting with 2.7, takes explicit SerializerProvider
argument to reduce the need to rely on provider visitor may or may not
have assigned.
objectVisitor
- Visitor to used as the callback handlerJsonMappingException
Copyright © 2008–2020 FasterXML. All rights reserved.