com.fasterxml.jackson.databind.ser.impl

## Class UnwrappingBeanPropertyWriter

- java.lang.Object
- - com.fasterxml.jackson.databind.ser.PropertyWriter
  - - com.fasterxml.jackson.databind.ser.BeanPropertyWriter
    - - com.fasterxml.jackson.databind.ser.impl.UnwrappingBeanPropertyWriter

All Implemented Interfaces:
  BeanProperty, Named

    public class UnwrappingBeanPropertyWriter
    extends BeanPropertyWriter

Variant of `BeanPropertyWriter` which will handle unwrapping of JSON Object (including of properties of Object within surrounding JSON object, and not as sub-object).

### Nested Class Summary

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

`BeanProperty.Std`

### Field Summary

Fields
`protected NameTransformer` `_nameTransformer` Transformer used to add prefix and/or suffix for properties of unwrapped POJO.

### Fields inherited from class com.fasterxml.jackson.databind.ser.BeanPropertyWriter

`_accessorMethod, _cfgSerializationType, _contextAnnotations, _declaredType, _dynamicSerializers, _field, _includeInViews, _internalSettings, _member, _metadata, _name, _nonTrivialBaseType, _nullSerializer, _serializer, _suppressableValue, _suppressNulls, _typeSerializer, _wrapperName, MARKER_FOR_EMPTY`

### Constructor Summary

Constructors
Constructor and Description
`UnwrappingBeanPropertyWriter(BeanPropertyWriter base, NameTransformer unwrapper)`

### Method Summary

Methods
`protected void` `_depositSchemaProperty(ObjectNode propertiesNode, JsonNode schemaNode)`
`protected JsonSerializer<Object>` `_findAndAddDynamic(PropertySerializerMap map, Class<?> type, SerializerProvider provider)`
`void` `assignSerializer(JsonSerializer<Object> ser)` Method called to assign value serializer for property
`boolean` `isUnwrapping()` Accessor that will return true if this bean property has to support "unwrapping"; ability to replace POJO structural wrapping with optional name prefix and/or suffix (or in some cases, just removal of wrapper name).
`UnwrappingBeanPropertyWriter` `rename(NameTransformer transformer)`
`void` `serializeAsField(Object bean, JsonGenerator jgen, SerializerProvider prov)` Method called to access property that this bean stands for, from within given bean, and to serialize it as a JSON Object field using appropriate serializer.

### Methods inherited from class com.fasterxml.jackson.databind.ser.BeanPropertyWriter

`_handleSelfReference, assignNullSerializer, depositSchemaProperty, depositSchemaProperty, get, getAnnotation, getContextAnnotation, getFullName, getGenericPropertyType, getInternalSetting, getMember, getMetadata, getName, getPropertyType, getRawSerializationType, getSerializationType, getSerializedName, getSerializer, getType, getViews, getWrapperName, hasNullSerializer, hasSerializer, isRequired, isVirtual, removeInternalSetting, serializeAsElement, serializeAsOmittedField, serializeAsPlaceholder, setInternalSetting, setNonTrivialBaseType, toString, unwrappingWriter, willSuppressNulls`

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

`findAnnotation`

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

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

### Field Detail

#### _nameTransformer

    protected final NameTransformer _nameTransformer

Transformer used to add prefix and/or suffix for properties of unwrapped POJO.

### Constructor Detail

#### UnwrappingBeanPropertyWriter

    public UnwrappingBeanPropertyWriter(BeanPropertyWriter base,
                                NameTransformer unwrapper)

### Method Detail

#### rename

    public UnwrappingBeanPropertyWriter rename(NameTransformer transformer)

Overrides:
  `rename` in class `BeanPropertyWriter`

#### isUnwrapping

    public boolean isUnwrapping()

Description copied from class: `BeanPropertyWriter`
Accessor that will return true if this bean property has to support "unwrapping"; ability to replace POJO structural wrapping with optional name prefix and/or suffix (or in some cases, just removal of wrapper name).

Default implementation simply returns false.

Overrides:
  `isUnwrapping` in class `BeanPropertyWriter`

#### serializeAsField

    public void serializeAsField(Object bean,
                        JsonGenerator jgen,
                        SerializerProvider prov)
                          throws Exception

Description copied from class: `BeanPropertyWriter`
Method called to access property that this bean stands for, from within given bean, and to serialize it as a JSON Object field using appropriate serializer.

Overrides:
  `serializeAsField` in class `BeanPropertyWriter`
Throws:
  `Exception`

#### assignSerializer

    public void assignSerializer(JsonSerializer<Object> ser)

Description copied from class: `BeanPropertyWriter`
Method called to assign value serializer for property

Overrides:
  `assignSerializer` in class `BeanPropertyWriter`

#### _depositSchemaProperty

    protected void _depositSchemaProperty(ObjectNode propertiesNode,
                              JsonNode schemaNode)

Overrides:
  `_depositSchemaProperty` in class `BeanPropertyWriter`

#### _findAndAddDynamic

    protected JsonSerializer<Object> _findAndAddDynamic(PropertySerializerMap map,
                                            Class<?> type,
                                            SerializerProvider provider)
                                                 throws JsonMappingException

Overrides:
  `_findAndAddDynamic` in class `BeanPropertyWriter`
Throws:
  `JsonMappingException`