UnwrappingBeanSerializer (Jackson JSON Processor)
Date: 2013-07-14

org.codehaus.jackson.map.ser.impl

## Class UnwrappingBeanSerializer

- java.lang.Object
- - org.codehaus.jackson.map.JsonSerializer<T>
  - - org.codehaus.jackson.map.ser.std.SerializerBase<Object>
    - - org.codehaus.jackson.map.ser.std.BeanSerializerBase
      - - org.codehaus.jackson.map.ser.impl.UnwrappingBeanSerializer

- All Implemented Interfaces:
    ResolvableSerializer, SchemaAware

      public class UnwrappingBeanSerializer
      extends BeanSerializerBase

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.codehaus.jackson.map.JsonSerializer

      `JsonSerializer.None`

  - ### Field Summary

    - ### Fields inherited from class org.codehaus.jackson.map.ser.std.BeanSerializerBase

      `_anyGetterWriter, _filteredProps, _propertyFilterId, _props, NO_PROPS`

    - ### Fields inherited from class org.codehaus.jackson.map.ser.std.SerializerBase

      `_handledType`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `UnwrappingBeanSerializer(BeanSerializerBase src)` Constructor used for creating unwrapping instance of a standard `BeanSerializer`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `isUnwrappingSerializer()` Accessor for checking whether this serializer is an "unwrapping" serializer; this is necessary to know since it may also require caller to suppress writing of the leading property name.
    `void` | `serialize(Object bean, JsonGenerator jgen, SerializerProvider provider)` Main serialization method that will delegate actual output to configured `BeanPropertyWriter` instances.
    `String` | `toString()`
    `JsonSerializer<Object>` | `unwrappingSerializer()` Method that will return serializer instance that produces "unwrapped" serialization, if applicable for type being serialized (which is the case for some serializers that produce JSON Objects as output).

    - ### Methods inherited from class org.codehaus.jackson.map.ser.std.BeanSerializerBase

      `findFilter, getSchema, resolve, serializeFields, serializeFieldsFiltered, serializeWithType`

    - ### Methods inherited from class org.codehaus.jackson.map.ser.std.SerializerBase

      `createObjectNode, createSchemaNode, createSchemaNode, handledType, isDefaultSerializer, wrapAndThrow, wrapAndThrow, wrapAndThrow, wrapAndThrow`

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

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

- - ### Constructor Detail

    - #### UnwrappingBeanSerializer

          public UnwrappingBeanSerializer(BeanSerializerBase src)

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

  - ### Method Detail

    - #### unwrappingSerializer

          public JsonSerializer<Object> unwrappingSerializer()

      Description copied from class: `JsonSerializer`
      Method that will return serializer instance that produces "unwrapped" serialization, if applicable for type being serialized (which is the case for some serializers that produce JSON Objects as output). If no unwrapped serializer can be constructed, will simply return serializer as-is.

      Default implementation just returns serializer as-is, indicating that no unwrapped variant exists

      Overrides:
        `unwrappingSerializer` in class `JsonSerializer<Object>`

    - #### isUnwrappingSerializer

          public boolean isUnwrappingSerializer()

      Description copied from class: `JsonSerializer`
      Accessor for checking whether this serializer is an "unwrapping" serializer; this is necessary to know since it may also require caller to suppress writing of the leading property name.
      Overrides:
        `isUnwrappingSerializer` in class `JsonSerializer<Object>`

    - #### serialize

          public final void serialize(Object bean,
                       JsonGenerator jgen,
                       SerializerProvider provider)
                               throws IOException,
                                      JsonGenerationException

      Main serialization method that will delegate actual output to configured `BeanPropertyWriter` instances.
      Specified by:
        `serialize` in class `BeanSerializerBase`
      Parameters:
        `bean` - Value to serialize; can not be null.
        `jgen` - Generator used to output resulting Json content
        `provider` - Provider that can be used to get serializers for serializing Objects value contains, if any.
      Throws:
        `IOException`
        `JsonGenerationException`

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`