Interface BeanProperty

All Superinterfaces:
FullyNamed, tools.jackson.core.util.Named
All Known Implementing Classes:
AnyGetterWriter, AttributePropertyWriter, BeanProperty.Bogus, BeanProperty.Std, BeanPropertyWriter, ConcreteBeanPropertyBase, CreatorProperty, InnerClassProperty, ManagedReferenceProperty, MapProperty, MergingSettableBeanProperty, MethodProperty, ObjectIdReferenceProperty, ObjectIdValueProperty, PropertyWriter, SettableBeanProperty, SettableBeanProperty.Delegating, SetterlessProperty, UnwrappingBeanPropertyWriter, ValueInjector, VirtualBeanPropertyWriter

public interface BeanProperty extends FullyNamed
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, constructor parameters). 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 and ValueSerializer.createContextual(tools.jackson.databind.SerializationContext, tools.jackson.databind.BeanProperty) and ValueDeserializer.createContextual(tools.jackson.databind.DeserializationContext, tools.jackson.databind.BeanProperty) are called. References may (need to) be retained by serializers and deserializers, especially when further resolving dependent handlers like value serializers/deserializers or structured types.

  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Interface
    Description
    static class 
    Alternative "Null" implementation that can be used in cases where a non-null BeanProperty is needed
    static class 
    Simple stand-alone implementation, useful as a placeholder or base class for more complex implementations.

    Nested classes/interfaces inherited from interface tools.jackson.core.util.Named

    tools.jackson.core.util.Named.StringAsNamed
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final JsonFormat.Value
     
    static final JsonInclude.Value
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Method that can be called to visit the type structure that this property is part of.
    Method for accessing set of possible alternate names that are accepted during deserialization.
    Helper method used to only access property-specified format overrides, if any, not considering type or global default format settings.
    findPropertyFormat(MapperConfig<?> config, Class<?> baseType)
    Helper method used to look up format settings applicable to this property, considering both possible per-type configuration settings
    findPropertyInclusion(MapperConfig<?> config, Class<?> baseType)
    Convenience method that is roughly equivalent to
    <A extends Annotation>
    A
    Method for finding annotation associated with this property; meaning annotation associated with one of entities used to access property.
    <A extends Annotation>
    A
    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.
    Accessor for additional optional information about property.
    Method to get declared type of the property.
    If property is indicated to be wrapped, name of wrapper element to use.
    boolean
    Whether value for property is marked as required using annotations or associated schema.
    boolean
    Accessor for checking whether there is an actual physical property behind this property abstraction or not.

    Methods inherited from interface tools.jackson.databind.util.FullyNamed

    getFullName, hasName

    Methods inherited from interface tools.jackson.core.util.Named

    getName
  • Field Details

  • Method Details

    • getType

      JavaType getType()
      Method to get declared type of the property.
    • getWrapperName

      PropertyName getWrapperName()
      If property is indicated to be wrapped, name of wrapper element to use.
    • getMetadata

      PropertyMetadata getMetadata()
      Accessor for additional optional information about property.
      Returns:
      Metadata about property; never null.
    • isRequired

      boolean isRequired()
      Whether value for property is marked as required using annotations or associated schema. Equivalent to: getMetadata().isRequired()
    • isVirtual

      boolean isVirtual()
      Accessor for checking whether there is an actual physical property behind this property abstraction or not.
    • getAnnotation

      <A extends Annotation> A getAnnotation(Class<A> acls)
      Method for finding annotation associated with this property; meaning annotation associated with one of entities used to access property.

      Note that this method should only be called for custom annotations; access to standard Jackson annotations (or ones supported by alternate AnnotationIntrospectors) should be accessed through AnnotationIntrospector.

    • getContextAnnotation

      <A extends Annotation> A 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).

      Note that this method should only be called for custom annotations; access to standard Jackson annotations (or ones supported by alternate AnnotationIntrospectors) should be accessed through AnnotationIntrospector.

    • getMember

      AnnotatedMember getMember()
      Method for accessing primary physical entity that represents the property; annotated field, method or constructor property.
    • findPropertyFormat

      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
    • findFormatOverrides

      JsonFormat.Value findFormatOverrides(MapperConfig<?> config)
      Helper method used to only access property-specified format overrides, if any, not considering type or global default format settings.
      Returns:
      Format override settings if any; `null` if no overrides
      Since:
      3.0
    • findPropertyInclusion

      JsonInclude.Value findPropertyInclusion(MapperConfig<?> config, Class<?> baseType)
      Convenience method that is roughly equivalent to
         return config.getAnnotationIntrospector().findPropertyInclusion(getMember());
      
      but also considers global default settings for inclusion
    • findAliases

      List<PropertyName> findAliases(MapperConfig<?> config)
      Method for accessing set of possible alternate names that are accepted during deserialization.
      Returns:
      List (possibly empty) of alternate names; never null
    • depositSchemaProperty

      void depositSchemaProperty(JsonObjectFormatVisitor objectVisitor, SerializationContext ctxt)
      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 UnsupportedOperationException.
      Parameters:
      objectVisitor - Visitor to used as the callback handler