BeanProperty.Std
Date: 2016-12-04

com.fasterxml.jackson.databind

## Class BeanProperty.Std

- java.lang.Object
- - com.fasterxml.jackson.databind.BeanProperty.Std

- All Implemented Interfaces:
    BeanProperty, Named
  Direct Known Subclasses:
    ValueInjector
  Enclosing interface:
    BeanProperty

      public static class BeanProperty.Std
      extends java.lang.Object
      implements BeanProperty

  Simple stand-alone implementation, useful as a placeholder or base class for more complex implementations.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface com.fasterxml.jackson.databind.BeanProperty

      `BeanProperty.Std`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected Annotations` | `_contextAnnotations` Annotations defined in the context class (if any); may be null if no annotations were found
    `protected AnnotatedMember` | `_member` Physical entity (field, method or constructor argument) that is used to access value of property (or in case of constructor property, just placeholder)
    `protected PropertyMetadata` | `_metadata`
    `protected PropertyName` | `_name`
    `protected JavaType` | `_type`
    `protected PropertyName` | `_wrapperName`

    - ### Fields inherited from interface com.fasterxml.jackson.databind.BeanProperty

      `EMPTY_FORMAT, EMPTY_INCLUDE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `BeanProperty.Std(BeanProperty.Std base, JavaType newType)`
    `BeanProperty.Std(PropertyName name, JavaType type, PropertyName wrapperName, Annotations contextAnnotations, AnnotatedMember member, PropertyMetadata metadata)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `depositSchemaProperty(JsonObjectFormatVisitor objectVisitor, SerializerProvider provider)` Implementation of this method throws `UnsupportedOperationException`, since instances of this implementation should not be used as part of actual structure visited.
    `com.fasterxml.jackson.annotation.JsonFormat.Value` | `findFormatOverrides(AnnotationIntrospector intr)` Deprecated.
    `com.fasterxml.jackson.annotation.JsonFormat.Value` | `findPropertyFormat(MapperConfig<?> config, java.lang.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, java.lang.Class<?> baseType)` Convenience method that is roughly equivalent to
    `<A extends java.lang.annotation.Annotation> A` | `getAnnotation(java.lang.Class<A> acls)` Method for finding annotation associated with this property; meaning annotation associated with one of entities used to access property.
    `<A extends java.lang.annotation.Annotation> A` | `getContextAnnotation(java.lang.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.
    `java.lang.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.
    `BeanProperty.Std` | `withType(JavaType type)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### _name

          protected final PropertyName _name

    - #### _type

          protected final JavaType _type

    - #### _wrapperName

          protected final PropertyName _wrapperName

    - #### _metadata

          protected final PropertyMetadata _metadata

    - #### _member

          protected final AnnotatedMember _member

      Physical entity (field, method or constructor argument) that is used to access value of property (or in case of constructor property, just placeholder)

    - #### _contextAnnotations

          protected final Annotations _contextAnnotations

      Annotations defined in the context class (if any); may be null if no annotations were found

  - ### Constructor Detail

    - #### BeanProperty.Std

          public BeanProperty.Std(PropertyName name,
                          JavaType type,
                          PropertyName wrapperName,
                          Annotations contextAnnotations,
                          AnnotatedMember member,
                          PropertyMetadata metadata)

    - #### BeanProperty.Std

          public BeanProperty.Std(BeanProperty.Std base,
                          JavaType newType)

      Since:
        2.6

  - ### Method Detail

    - #### withType

          public BeanProperty.Std withType(JavaType type)

    - #### getAnnotation

          public <A extends java.lang.annotation.Annotation> A getAnnotation(java.lang.Class<A> acls)

      Description copied from interface: `BeanProperty`
      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 `AnnotationIntrospector`s) should be accessed through `AnnotationIntrospector`.

      Specified by:
        `getAnnotation` in interface `BeanProperty`

    - #### getContextAnnotation

          public <A extends java.lang.annotation.Annotation> A getContextAnnotation(java.lang.Class<A> acls)

      Description copied from interface: `BeanProperty`
      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 `AnnotationIntrospector`s) should be accessed through `AnnotationIntrospector`.

      Specified by:
        `getContextAnnotation` in interface `BeanProperty`

    - #### findFormatOverrides

          @Deprecated
          public com.fasterxml.jackson.annotation.JsonFormat.Value findFormatOverrides(AnnotationIntrospector intr)

      Deprecated.
      Description copied from interface: `BeanProperty`
      Convenience method that is roughly equivalent to

             return intr.findFormat(getMember());

      and specifically does NOT try to find per-type format defaults to merge; use `BeanProperty.findPropertyFormat(com.fasterxml.jackson.databind.cfg.MapperConfig<?>, java.lang.Class<?>)` if such defaults would be useful.
      Specified by:
        `findFormatOverrides` in interface `BeanProperty`

    - #### findPropertyFormat

          public com.fasterxml.jackson.annotation.JsonFormat.Value findPropertyFormat(MapperConfig<?> config,
                                                                             java.lang.Class<?> baseType)

      Description copied from interface: `BeanProperty`
      Helper method used to look up format settings applicable to this property, considering both possible per-type configuration settings
      Specified by:
        `findPropertyFormat` in interface `BeanProperty`

    - #### findPropertyInclusion

          public com.fasterxml.jackson.annotation.JsonInclude.Value findPropertyInclusion(MapperConfig<?> config,
                                                                                 java.lang.Class<?> baseType)

      Description copied from interface: `BeanProperty`
      Convenience method that is roughly equivalent to

             return config.getAnnotationIntrospector().findPropertyInclusion(getMember());

      but also considers global default settings for inclusion
      Specified by:
        `findPropertyInclusion` in interface `BeanProperty`

    - #### getName

          public java.lang.String getName()

      Description copied from interface: `BeanProperty`
      Method to get logical name of the property
      Specified by:
        `getName` in interface `BeanProperty`
      Specified by:
        `getName` in interface `Named`

    - #### getFullName

          public PropertyName getFullName()

      Description copied from interface: `BeanProperty`
      Method for getting full name definition, including possible format-specific additional properties (such as namespace when using XML backend).
      Specified by:
        `getFullName` in interface `BeanProperty`

    - #### getType

          public JavaType getType()

      Description copied from interface: `BeanProperty`
      Method to get declared type of the property.
      Specified by:
        `getType` in interface `BeanProperty`

    - #### getWrapperName

          public PropertyName getWrapperName()

      Description copied from interface: `BeanProperty`
      If property is indicated to be wrapped, name of wrapper element to use.
      Specified by:
        `getWrapperName` in interface `BeanProperty`

    - #### isRequired

          public boolean isRequired()

      Description copied from interface: `BeanProperty`
      Whether value for property is marked as required using annotations or associated schema. Equivalent to: `getMetadata().isRequired()`
      Specified by:
        `isRequired` in interface `BeanProperty`

    - #### getMetadata

          public PropertyMetadata getMetadata()

      Description copied from interface: `BeanProperty`
      Accessor for additional optional information about property.
      Specified by:
        `getMetadata` in interface `BeanProperty`
      Returns:
        Metadata about property; never null.

    - #### getMember

          public AnnotatedMember getMember()

      Description copied from interface: `BeanProperty`
      Method for accessing primary physical entity that represents the property; annotated field, method or constructor property.
      Specified by:
        `getMember` in interface `BeanProperty`

    - #### isVirtual

          public boolean isVirtual()

      Description copied from interface: `BeanProperty`
      Accessor for checking whether there is an actual physical property behind this property abstraction or not.
      Specified by:
        `isVirtual` in interface `BeanProperty`

    - #### depositSchemaProperty

          public void depositSchemaProperty(JsonObjectFormatVisitor objectVisitor,
                                   SerializerProvider provider)

      Implementation of this method throws `UnsupportedOperationException`, since instances of this implementation should not be used as part of actual structure visited. Rather, other implementations should handle it.
      Specified by:
        `depositSchemaProperty` in interface `BeanProperty`
      Parameters:
        `objectVisitor` - Visitor to used as the callback handler