JsonAppend.Prop
Date: 2016-12-04

com.fasterxml.jackson.databind.annotation

## Annotation Type JsonAppend.Prop

-     public static @interface JsonAppend.Prop

  Definition of a single general virtual property.

- - ### Required Element Summary

    Required Elements
    Modifier and Type | Required Element and Description
    --- | ---
    `java.lang.Class<? extends VirtualBeanPropertyWriter>` | `value` Actual implementation class (a subtype of `VirtualBeanPropertyWriter`) of the property to instantiate (using the no-argument default constructor).

  - ### Optional Element Summary

    Optional Elements
    Modifier and Type | Optional Element and Description
    --- | ---
    `com.fasterxml.jackson.annotation.JsonInclude.Include` | `include` When to include value of the property.
    `java.lang.String` | `name` Name of the property to possibly use for serializing (although implementation may choose to not use this information).
    `java.lang.String` | `namespace` Optional namespace to use along with `name()`; only relevant for data formats that use namespaces (like XML).
    `boolean` | `required` Metadata about property, similar to `JsonProperty.required()`.
    `java.lang.Class<?>` | `type` Nominal type of the property.

- - ### Element Detail

    - #### value

          public abstract java.lang.Class<? extends VirtualBeanPropertyWriter> value

      Actual implementation class (a subtype of `VirtualBeanPropertyWriter`) of the property to instantiate (using the no-argument default constructor).

    - #### name

          public abstract java.lang.String name

      Name of the property to possibly use for serializing (although implementation may choose to not use this information).
      Default:
        ""

    - #### namespace

          public abstract java.lang.String namespace

      Optional namespace to use along with `name()`; only relevant for data formats that use namespaces (like XML).
      Default:
        ""

    - #### include

          public abstract com.fasterxml.jackson.annotation.JsonInclude.Include include

      When to include value of the property. Default value indicates that property should only be written if specified attribute has a non-null value. As with other properties, actual property implementation may or may not choose to use this inclusion information.
      Default:
        com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL

    - #### required

          public abstract boolean required

      Metadata about property, similar to `JsonProperty.required()`.
      Default:
        false

    - #### type

          public abstract java.lang.Class<?> type

      Nominal type of the property. Passed as type information for related virtual objects, and may (or may not be) used by implementation for choosing serializer to use.
      Default:
        java.lang.Object.class