com.fasterxml.jackson.dataformat.xml.ser

## Class UnwrappingXmlBeanSerializer

- java.lang.Object
- - com.fasterxml.jackson.databind.JsonSerializer<T>
  - - com.fasterxml.jackson.databind.ser.std.StdSerializer<Object>
    - - com.fasterxml.jackson.databind.ser.std.BeanSerializerBase
      - - com.fasterxml.jackson.dataformat.xml.ser.XmlBeanSerializerBase
        - - com.fasterxml.jackson.dataformat.xml.ser.UnwrappingXmlBeanSerializer

All Implemented Interfaces:
  com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitable, com.fasterxml.jackson.databind.jsonschema.SchemaAware, com.fasterxml.jackson.databind.ser.ContextualSerializer, com.fasterxml.jackson.databind.ser.ResolvableSerializer, Serializable

    public class UnwrappingXmlBeanSerializer
    extends XmlBeanSerializerBase

Copy of `UnwrappingBeanSerializer` required to extend `XmlBeanSerializerBase` for XML-specific handling.

Author:
  Pascal Gélinas
See Also:
  Serialized Form

### Nested Class Summary

### Nested classes/interfaces inherited from class com.fasterxml.jackson.databind.JsonSerializer

`com.fasterxml.jackson.databind.JsonSerializer.None`

### Field Summary

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

### Fields inherited from class com.fasterxml.jackson.dataformat.xml.ser.XmlBeanSerializerBase

`_attributeCount, _cdata, _textPropertyIndex, _xmlNames, KEY_XML_INFO`

### Fields inherited from class com.fasterxml.jackson.databind.ser.std.BeanSerializerBase

`_anyGetterWriter, _beanType, _filteredProps, _objectIdWriter, _propertyFilterId, _props, _serializationShape, _typeId, NAME_FOR_OBJECT_REF, NO_PROPS`

### Fields inherited from class com.fasterxml.jackson.databind.ser.std.StdSerializer

`_handledType`

### Constructor Summary

Constructors
`` `UnwrappingXmlBeanSerializer(UnwrappingXmlBeanSerializer src, com.fasterxml.jackson.databind.ser.impl.ObjectIdWriter objectIdWriter)`
`` `UnwrappingXmlBeanSerializer(UnwrappingXmlBeanSerializer src, com.fasterxml.jackson.databind.ser.impl.ObjectIdWriter objectIdWriter, Object filterId)`
`protected` `UnwrappingXmlBeanSerializer(UnwrappingXmlBeanSerializer src, Set<String> toIgnore)`
`` `UnwrappingXmlBeanSerializer(XmlBeanSerializerBase src, com.fasterxml.jackson.databind.util.NameTransformer transformer)` Constructor used for creating unwrapping instance of a standard `BeanSerializer`

### Method Summary

All Methods Instance Methods Concrete Methods
`protected com.fasterxml.jackson.databind.ser.std.BeanSerializerBase` `asArraySerializer()` JSON Array output can not be done if unwrapping operation is requested; so implementation will simply return 'this'.
`boolean` `isUnwrappingSerializer()`
`void` `serialize(Object bean, com.fasterxml.jackson.core.JsonGenerator jgen, com.fasterxml.jackson.databind.SerializerProvider provider)` Main serialization method that will delegate actual output to configured `BeanPropertyWriter` instances.
`String` `toString()`
`com.fasterxml.jackson.databind.JsonSerializer<Object>` `unwrappingSerializer(com.fasterxml.jackson.databind.util.NameTransformer transformer)`
`com.fasterxml.jackson.databind.ser.std.BeanSerializerBase` `withFilterId(Object filterId)`
`protected com.fasterxml.jackson.databind.ser.std.BeanSerializerBase` `withIgnorals(Set<String> toIgnore)`
`com.fasterxml.jackson.databind.ser.std.BeanSerializerBase` `withObjectIdWriter(com.fasterxml.jackson.databind.ser.impl.ObjectIdWriter objectIdWriter)`

### Methods inherited from class com.fasterxml.jackson.dataformat.xml.ser.XmlBeanSerializerBase

`_isAttribute, _isCData, _orderAttributesFirst, _serializeObjectId, serializeFields, serializeFieldsFiltered, serializeWithType`

### Methods inherited from class com.fasterxml.jackson.databind.ser.std.BeanSerializerBase

`_customTypeId, _serializeWithObjectId, _serializeWithObjectId, _typeIdDef, acceptJsonFormatVisitor, createContextual, findConvertingSerializer, getSchema, properties, resolve, usesObjectId, withIgnorals`

### Methods inherited from class com.fasterxml.jackson.databind.ser.std.StdSerializer

`_neitherNull, _nonEmpty, createSchemaNode, createSchemaNode, findAnnotatedContentSerializer, findContextualConvertingSerializer, findConvertingContentSerializer, findFormatFeature, findFormatOverrides, findIncludeOverrides, findPropertyFilter, getSchema, handledType, isDefaultSerializer, visitArrayFormat, visitArrayFormat, visitFloatFormat, visitIntFormat, visitIntFormat, visitStringFormat, visitStringFormat, wrapAndThrow, wrapAndThrow`

### Methods inherited from class com.fasterxml.jackson.databind.JsonSerializer

`getDelegatee, isEmpty, isEmpty, replaceDelegatee`

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

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

### Methods inherited from interface com.fasterxml.jackson.databind.jsonschema.SchemaAware

`getSchema`

### Field Detail

#### _nameTransformer

    protected final com.fasterxml.jackson.databind.util.NameTransformer _nameTransformer

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

### Constructor Detail

#### UnwrappingXmlBeanSerializer

    public UnwrappingXmlBeanSerializer(XmlBeanSerializerBase src,
                                       com.fasterxml.jackson.databind.util.NameTransformer transformer)

Constructor used for creating unwrapping instance of a standard `BeanSerializer`

#### UnwrappingXmlBeanSerializer

    public UnwrappingXmlBeanSerializer(UnwrappingXmlBeanSerializer src,
                                       com.fasterxml.jackson.databind.ser.impl.ObjectIdWriter objectIdWriter)

#### UnwrappingXmlBeanSerializer

    public UnwrappingXmlBeanSerializer(UnwrappingXmlBeanSerializer src,
                                       com.fasterxml.jackson.databind.ser.impl.ObjectIdWriter objectIdWriter,
                                       Object filterId)

#### UnwrappingXmlBeanSerializer

    protected UnwrappingXmlBeanSerializer(UnwrappingXmlBeanSerializer src,
                                          Set<String> toIgnore)

### Method Detail

#### unwrappingSerializer

    public com.fasterxml.jackson.databind.JsonSerializer<Object> unwrappingSerializer(com.fasterxml.jackson.databind.util.NameTransformer transformer)

Overrides:
  `unwrappingSerializer` in class `com.fasterxml.jackson.databind.JsonSerializer<Object>`

#### isUnwrappingSerializer

    public boolean isUnwrappingSerializer()

Overrides:
  `isUnwrappingSerializer` in class `com.fasterxml.jackson.databind.JsonSerializer<Object>`

#### withObjectIdWriter

    public com.fasterxml.jackson.databind.ser.std.BeanSerializerBase withObjectIdWriter(com.fasterxml.jackson.databind.ser.impl.ObjectIdWriter objectIdWriter)

Specified by:
  `withObjectIdWriter` in class `com.fasterxml.jackson.databind.ser.std.BeanSerializerBase`

#### withFilterId

    public com.fasterxml.jackson.databind.ser.std.BeanSerializerBase withFilterId(Object filterId)

Overrides:
  `withFilterId` in class `com.fasterxml.jackson.databind.ser.std.BeanSerializerBase`

#### withIgnorals

    protected com.fasterxml.jackson.databind.ser.std.BeanSerializerBase withIgnorals(Set<String> toIgnore)

Specified by:
  `withIgnorals` in class `com.fasterxml.jackson.databind.ser.std.BeanSerializerBase`

#### asArraySerializer

    protected com.fasterxml.jackson.databind.ser.std.BeanSerializerBase asArraySerializer()

JSON Array output can not be done if unwrapping operation is requested; so implementation will simply return 'this'.

Specified by:
  `asArraySerializer` in class `com.fasterxml.jackson.databind.ser.std.BeanSerializerBase`

#### serialize

    public final void serialize(Object bean,
                                com.fasterxml.jackson.core.JsonGenerator jgen,
                                com.fasterxml.jackson.databind.SerializerProvider provider)
                         throws IOException,
                                com.fasterxml.jackson.core.JsonGenerationException

Main serialization method that will delegate actual output to configured `BeanPropertyWriter` instances.

Specified by:
  `serialize` in class `com.fasterxml.jackson.databind.ser.std.BeanSerializerBase`
Throws:
  `IOException`
  `com.fasterxml.jackson.core.JsonGenerationException`

#### toString

    public String toString()

Overrides:
  `toString` in class `Object`