com.fasterxml.jackson.databind.ser.std

## Class MapProperty

- java.lang.Object
- - com.fasterxml.jackson.databind.introspect.ConcreteBeanPropertyBase
  - - com.fasterxml.jackson.databind.ser.PropertyWriter
    - - com.fasterxml.jackson.databind.ser.std.MapProperty

- All Implemented Interfaces:
    BeanProperty, Named, Serializable

      public class MapProperty
      extends PropertyWriter

  Helper class needed to support flexible filtering of Map properties with generic JSON Filter functionality. Since `Map`s are not handled as a collection of properties by Jackson (unlike POJOs), bit more wrapping is required.
  See Also:
    Serialized Form

- - ### Nested Class Summary

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

      `BeanProperty.Bogus, BeanProperty.Std`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected Object` | `_key`
    `protected JsonSerializer<Object>` | `_keySerializer`
    `protected BeanProperty` | `_property`
    `protected TypeSerializer` | `_typeSerializer`
    `protected Object` | `_value`
    `protected JsonSerializer<Object>` | `_valueSerializer`

    - ### Fields inherited from class com.fasterxml.jackson.databind.introspect.ConcreteBeanPropertyBase

      `_aliases, _metadata`

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

      `EMPTY_FORMAT, EMPTY_INCLUDE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `MapProperty(TypeSerializer typeSer, BeanProperty prop)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `depositSchemaProperty(JsonObjectFormatVisitor objectVisitor, SerializerProvider provider)` Traversal method used for things like JSON Schema generation, or POJO introspection.
    `void` | `depositSchemaProperty(ObjectNode propertiesNode, SerializerProvider provider)` Deprecated.
    `<A extends Annotation> A` | `getAnnotation(Class<A> acls)` Method for accessing annotations directly declared for property that this writer is associated with.
    `<A extends Annotation> A` | `getContextAnnotation(Class<A> acls)` Method for accessing annotations declared in context of the property that this writer is associated with; usually this means annotations on enclosing class for property.
    `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.
    `String` | `getName()` Method to get logical name of the property
    `JavaType` | `getType()` Method to get declared type of the property.
    `Object` | `getValue()`
    `PropertyName` | `getWrapperName()` If property is indicated to be wrapped, name of wrapper element to use.
    `void` | `reset(Object key, JsonSerializer<Object> keySer, JsonSerializer<Object> valueSer)` Deprecated.
    `void` | `reset(Object key, Object value, JsonSerializer<Object> keySer, JsonSerializer<Object> valueSer)` Initialization method that needs to be called before passing property to filter.
    `void` | `serializeAsElement(Object map, JsonGenerator gen, SerializerProvider provider)` Serialization method called when output is to be done as an array, that is, not using property names.
    `void` | `serializeAsField(Object map, JsonGenerator gen, SerializerProvider provider)` The main serialization method called by filter when property is to be written normally.
    `void` | `serializeAsOmittedField(Object map, JsonGenerator gen, SerializerProvider provider)` Serialization method that filter needs to call in cases where property is to be filtered, but the underlying data format requires a placeholder of some kind.
    `void` | `serializeAsPlaceholder(Object value, JsonGenerator gen, SerializerProvider provider)` Serialization method called when doing tabular (positional) output from databind, but then value is to be omitted.
    `void` | `setValue(Object v)`

    - ### Methods inherited from class com.fasterxml.jackson.databind.ser.PropertyWriter

      `findAnnotation`

    - ### Methods inherited from class com.fasterxml.jackson.databind.introspect.ConcreteBeanPropertyBase

      `findAliases, findFormatOverrides, findPropertyFormat, findPropertyInclusion, getMetadata, isRequired, isVirtual`

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

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

- - ### Field Detail

    - #### _typeSerializer

          protected final TypeSerializer _typeSerializer

    - #### _property

          protected final BeanProperty _property

    - #### _key

          protected Object _key

    - #### _value

          protected Object _value

    - #### _keySerializer

          protected JsonSerializer<Object> _keySerializer

    - #### _valueSerializer

          protected JsonSerializer<Object> _valueSerializer

  - ### Constructor Detail

    - #### MapProperty

          public MapProperty(TypeSerializer typeSer,
                             BeanProperty prop)

  - ### Method Detail

    - #### reset

          public void reset(Object key,
                            Object value,
                            JsonSerializer<Object> keySer,
                            JsonSerializer<Object> valueSer)

      Initialization method that needs to be called before passing property to filter.
      Since:
        2.9

    - #### reset

          @Deprecated
          public void reset(Object key,
                                        JsonSerializer<Object> keySer,
                                        JsonSerializer<Object> valueSer)

      Deprecated.

    - #### getName

          public 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`
      Specified by:
        `getName` in class `PropertyWriter`

    - #### getValue

          public Object getValue()

      Since:
        2.9

    - #### setValue

          public void setValue(Object v)

      Since:
        2.9

    - #### 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`
      Specified by:
        `getFullName` in class `PropertyWriter`

    - #### getAnnotation

          public <A extends Annotation> A getAnnotation(Class<A> acls)

      Description copied from class: `PropertyWriter`
      Method for accessing annotations directly declared for property that this writer is associated with.
      Specified by:
        `getAnnotation` in interface `BeanProperty`
      Specified by:
        `getAnnotation` in class `PropertyWriter`

    - #### getContextAnnotation

          public <A extends Annotation> A getContextAnnotation(Class<A> acls)

      Description copied from class: `PropertyWriter`
      Method for accessing annotations declared in context of the property that this writer is associated with; usually this means annotations on enclosing class for property.
      Specified by:
        `getContextAnnotation` in interface `BeanProperty`
      Specified by:
        `getContextAnnotation` in class `PropertyWriter`

    - #### serializeAsField

          public void serializeAsField(Object map,
                                       JsonGenerator gen,
                                       SerializerProvider provider)
                                throws IOException

      Description copied from class: `PropertyWriter`
      The main serialization method called by filter when property is to be written normally.
      Specified by:
        `serializeAsField` in class `PropertyWriter`
      Throws:
        `IOException`

    - #### serializeAsOmittedField

          public void serializeAsOmittedField(Object map,
                                              JsonGenerator gen,
                                              SerializerProvider provider)
                                       throws Exception

      Description copied from class: `PropertyWriter`
      Serialization method that filter needs to call in cases where property is to be filtered, but the underlying data format requires a placeholder of some kind. This is usually the case for tabular (positional) data formats such as CSV.
      Specified by:
        `serializeAsOmittedField` in class `PropertyWriter`
      Throws:
        `Exception`

    - #### serializeAsElement

          public void serializeAsElement(Object map,
                                         JsonGenerator gen,
                                         SerializerProvider provider)
                                  throws Exception

      Description copied from class: `PropertyWriter`
      Serialization method called when output is to be done as an array, that is, not using property names. This is needed when serializing container (`Collection`, array) types, or POJOs using `tabular` ("as array") output format.

      Note that this mode of operation is independent of underlying data format; so it is typically NOT called for fully tabular formats such as CSV, where logical output is still as form of POJOs.

      Specified by:
        `serializeAsElement` in class `PropertyWriter`
      Throws:
        `Exception`

    - #### serializeAsPlaceholder

          public void serializeAsPlaceholder(Object value,
                                             JsonGenerator gen,
                                             SerializerProvider provider)
                                      throws Exception

      Description copied from class: `PropertyWriter`
      Serialization method called when doing tabular (positional) output from databind, but then value is to be omitted. This requires output of a placeholder value of some sort; often similar to `PropertyWriter.serializeAsOmittedField(java.lang.Object, com.fasterxml.jackson.core.JsonGenerator, com.fasterxml.jackson.databind.SerializerProvider)`.
      Specified by:
        `serializeAsPlaceholder` in class `PropertyWriter`
      Throws:
        `Exception`

    - #### depositSchemaProperty

          public void depositSchemaProperty(JsonObjectFormatVisitor objectVisitor,
                                            SerializerProvider provider)
                                     throws JsonMappingException

      Description copied from class: `PropertyWriter`
      Traversal method used for things like JSON Schema generation, or POJO introspection.
      Specified by:
        `depositSchemaProperty` in interface `BeanProperty`
      Specified by:
        `depositSchemaProperty` in class `PropertyWriter`
      Parameters:
        `objectVisitor` - Visitor to used as the callback handler
      Throws:
        `JsonMappingException`

    - #### depositSchemaProperty

          @Deprecated
          public void depositSchemaProperty(ObjectNode propertiesNode,
                                                        SerializerProvider provider)
                                                 throws JsonMappingException

      Deprecated.
      Description copied from class: `PropertyWriter`
      Legacy method called for JSON Schema generation; should not be called by new code
      Specified by:
        `depositSchemaProperty` in class `PropertyWriter`
      Throws:
        `JsonMappingException`

    - #### getType

          public JavaType getType()

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

    - #### getWrapperName

          public PropertyName getWrapperName()

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

    - #### 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.

Copyright © 2008–2020 FasterXML. All rights reserved.