Top Fields Constructors Methods
com.fasterxml.jackson.databind.ser.impl

public Class UnwrappingBeanSerializer

extends BeanSerializerBase
implements Serializable
Class Inheritance
All Implemented Interfaces
java.io.Serializable
Imports
com.fasterxml.jackson.core.JsonGenerator, com.fasterxml.jackson.databind.*, com.fasterxml.jackson.databind.jsontype.TypeSerializer, com.fasterxml.jackson.databind.ser.BeanPropertyWriter, com.fasterxml.jackson.databind.ser.std.BeanSerializerBase, com.fasterxml.jackson.databind.util.NameTransformer, java.io.IOException, java.util.Set

Deprecated

as a consequence of BeanSerializerBase being deprecated. See corresponding docs for further information.

Field Summary

Modifier and TypeField and Description
protected final NameTransformer
_nameTransformer

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

private static final long
Inherited from com.fasterxml.jackson.databind.ser.std.BeanSerializerBase:
_anyGetterWriter_beanType_filteredProps_objectIdWriter_propertyFilterId_props_serializationShape_typeIdNAME_FOR_OBJECT_REFNO_PROPS

Constructor Summary

AccessConstructor and Description
public
UnwrappingBeanSerializer(BeanSerializerBase src, NameTransformer transformer)

Deprecated as a consequence of BeanSerializerBase being deprecated.
Constructor used for creating unwrapping instance of a standard BeanSerializer
public
UnwrappingBeanSerializer(UnwrappingBeanSerializer src, ObjectIdWriter objectIdWriter)

Deprecated as a consequence of UnwrappingBeanSerializer being deprecated.
public
UnwrappingBeanSerializer(UnwrappingBeanSerializer src, ObjectIdWriter objectIdWriter, Object filterId)

Deprecated as a consequence of UnwrappingBeanSerializer being deprecated.
protected
UnwrappingBeanSerializer(UnwrappingBeanSerializer src, Set<String> toIgnore)

Deprecated as a consequence of UnwrappingBeanSerializer being deprecated.
protected
UnwrappingBeanSerializer(UnwrappingBeanSerializer src, Set<String> toIgnore, Set<String> toInclude)

Deprecated as a consequence of UnwrappingBeanSerializer being deprecated.
protected
UnwrappingBeanSerializer(UnwrappingBeanSerializer src, BeanPropertyWriter[] properties, BeanPropertyWriter[] filteredProperties)

Deprecated as a consequence of UnwrappingBeanSerializer being deprecated.

Method Summary

Modifier and TypeMethod and Description
protected BeanSerializerBase
asArraySerializer()

Implements abstract com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.asArraySerializer.

Deprecated as a consequence of BeanSerializerBase being deprecated.
JSON Array output cannot be done if unwrapping operation is requested; so implementation will simply return 'this'.
public boolean
isUnwrappingSerializer()

Overrides com.fasterxml.jackson.databind.JsonSerializer.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.
public final void
serialize(Object
Value to serialize; can not be null.
bean
,
JsonGenerator
Generator used to output resulting Json content
gen
,
SerializerProvider
Provider that can be used to get serializers for serializing Objects value contains, if any.
provider
)

Implements abstract com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serialize.

Main serialization method that will delegate actual output to configured BeanPropertyWriter instances.
public void
serializeWithType(Object
Value to serialize; can not be null.
bean
,
JsonGenerator
Generator used to output resulting Json content
gen
,
SerializerProvider
Provider that can be used to get serializers for serializing Objects value contains, if any.
provider
,
TypeSerializer
Type serializer to use for including type information
typeSer
)

Overrides com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeWithType.

Method that can be called to ask implementation to serialize values of type this serializer handles, using specified type serializer for embedding necessary type information.
public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.
public JsonSerializer<Object>
unwrappingSerializer(NameTransformer
Name transformation to use to convert between names of unwrapper properties
transformer
)

Overrides com.fasterxml.jackson.databind.JsonSerializer.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).
protected BeanSerializerBase
withByNameInclusion(Set<String> toIgnore, Set<String> toInclude)

Implements abstract com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.withByNameInclusion.

Deprecated as a consequence of BeanSerializerBase being deprecated.
Mutant factory used for creating a new instance with additional set of properties to ignore or include (from properties this instance otherwise has)
public BeanSerializerBase
withFilterId(Object filterId)

Implements abstract com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.withFilterId.

Deprecated as a consequence of BeanSerializerBase being deprecated.
Mutant factory used for creating a new instance with different filter id (used with JsonFilter annotation)
public BeanSerializerBase
withObjectIdWriter(ObjectIdWriter objectIdWriter)

Implements abstract com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.withObjectIdWriter.

Deprecated as a consequence of BeanSerializerBase being deprecated.
Mutant factory used for creating a new instance with different ObjectIdWriter.
protected BeanSerializerBase
withProperties(BeanPropertyWriter[] properties, BeanPropertyWriter[] filteredProperties)

Implements abstract com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.withProperties.

Deprecated as a consequence of BeanSerializerBase being deprecated.
Mutant factory used for creating a new instance with modified set of properties.
Inherited from com.fasterxml.jackson.databind.ser.std.BeanSerializerBase:
_customTypeId_serializeObjectId_serializeWithObjectId_serializeWithObjectId_typeIdDefacceptJsonFormatVisitorcreateContextualfindConvertingSerializergetSchemapropertiesresolveserializeFieldsserializeFieldsFilteredusesObjectIdwithIgnoralswithIgnorals

Field Detail

_nameTransformerback to summary
protected final NameTransformer _nameTransformer

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

serialVersionUIDback to summary
private static final long serialVersionUID

Hides com.fasterxml.jackson.databind.ser.std.StdSerializer.serialVersionUID.

Constructor Detail

UnwrappingBeanSerializerback to summary
public UnwrappingBeanSerializer(BeanSerializerBase src, NameTransformer transformer)

Deprecated

as a consequence of BeanSerializerBase being deprecated. See corresponding docs for further information.

Constructor used for creating unwrapping instance of a standard BeanSerializer

UnwrappingBeanSerializerback to summary
public UnwrappingBeanSerializer(UnwrappingBeanSerializer src, ObjectIdWriter objectIdWriter)

Deprecated

as a consequence of UnwrappingBeanSerializer being deprecated. See corresponding docs for further information.

UnwrappingBeanSerializerback to summary
public UnwrappingBeanSerializer(UnwrappingBeanSerializer src, ObjectIdWriter objectIdWriter, Object filterId)

Deprecated

as a consequence of UnwrappingBeanSerializer being deprecated. See corresponding docs for further information.

UnwrappingBeanSerializerback to summary
protected UnwrappingBeanSerializer(UnwrappingBeanSerializer src, Set<String> toIgnore)

Deprecated

as a consequence of UnwrappingBeanSerializer being deprecated. See corresponding docs for further information.

UnwrappingBeanSerializerback to summary
protected UnwrappingBeanSerializer(UnwrappingBeanSerializer src, Set<String> toIgnore, Set<String> toInclude)

Deprecated

as a consequence of UnwrappingBeanSerializer being deprecated. See corresponding docs for further information.

UnwrappingBeanSerializerback to summary
protected UnwrappingBeanSerializer(UnwrappingBeanSerializer src, BeanPropertyWriter[] properties, BeanPropertyWriter[] filteredProperties)

Deprecated

as a consequence of UnwrappingBeanSerializer being deprecated. See corresponding docs for further information.

Method Detail

asArraySerializerback to summary
protected BeanSerializerBase asArraySerializer()

Implements abstract com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.asArraySerializer.

Deprecated

as a consequence of BeanSerializerBase being deprecated. See corresponding docs for further information.

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

Annotations
@Override
isUnwrappingSerializerback to summary
public boolean isUnwrappingSerializer()

Overrides com.fasterxml.jackson.databind.JsonSerializer.isUnwrappingSerializer.

Doc from com.fasterxml.jackson.databind.JsonSerializer.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.

Annotations
@Override
serializeback to summary
public final void serialize(Object bean, JsonGenerator gen, SerializerProvider provider) throws IOException

Implements abstract com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serialize.

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

Parameters
bean:Object

Doc from com.fasterxml.jackson.databind.JsonSerializer.serialize.

Value to serialize; can not be null.

gen:JsonGenerator

Doc from com.fasterxml.jackson.databind.JsonSerializer.serialize.

Generator used to output resulting Json content

provider:SerializerProvider

Doc from com.fasterxml.jackson.databind.JsonSerializer.serialize.

Provider that can be used to get serializers for serializing Objects value contains, if any.

Annotations
@Override
serializeWithTypeback to summary
public void serializeWithType(Object bean, JsonGenerator gen, SerializerProvider provider, TypeSerializer typeSer) throws IOException

Overrides com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeWithType.

Doc from com.fasterxml.jackson.databind.JsonSerializer.serializeWithType.

Method that can be called to ask implementation to serialize values of type this serializer handles, using specified type serializer for embedding necessary type information.

Default implementation will throw UnsupportedOperationException to indicate that proper type handling needs to be implemented.

For simple datatypes written as a single scalar value (JSON String, Number, Boolean), implementation would look like:

  // note: method to call depends on whether this type is serialized as JSON scalar, object or Array!
  typeSer.writeTypePrefixForScalar(value, gen);
  serialize(value, gen, provider);
  typeSer.writeTypeSuffixForScalar(value, gen);
and implementations for type serialized as JSON Arrays or Objects would differ slightly, as START-ARRAY/END-ARRAY and START-OBJECT/END-OBJECT pairs need to be properly handled with respect to serializing of contents.
Parameters
bean:Object

Value to serialize; can not be null.

gen:JsonGenerator

Generator used to output resulting Json content

provider:SerializerProvider

Provider that can be used to get serializers for serializing Objects value contains, if any.

typeSer:TypeSerializer

Type serializer to use for including type information

Annotations
@Override
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object.

Returns:String

a string representation of the object.

Annotations
@Override
unwrappingSerializerback to summary
public JsonSerializer<Object> unwrappingSerializer(NameTransformer transformer)

Overrides com.fasterxml.jackson.databind.JsonSerializer.unwrappingSerializer.

Doc from com.fasterxml.jackson.databind.JsonSerializer.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). 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

Parameters
transformer:NameTransformer

Name transformation to use to convert between names of unwrapper properties

Annotations
@Override
withByNameInclusionback to summary
protected BeanSerializerBase withByNameInclusion(Set<String> toIgnore, Set<String> toInclude)

Implements abstract com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.withByNameInclusion.

Doc from com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.withByNameInclusion.

Deprecated

as a consequence of BeanSerializerBase being deprecated. See corresponding docs for further information.

Mutant factory used for creating a new instance with additional set of properties to ignore or include (from properties this instance otherwise has)

Annotations
@Override
withFilterIdback to summary
public BeanSerializerBase withFilterId(Object filterId)

Implements abstract com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.withFilterId.

Doc from com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.withFilterId.

Deprecated

as a consequence of BeanSerializerBase being deprecated. See corresponding docs for further information.

Mutant factory used for creating a new instance with different filter id (used with JsonFilter annotation)

Annotations
@Override
withObjectIdWriterback to summary
public BeanSerializerBase withObjectIdWriter(ObjectIdWriter objectIdWriter)

Implements abstract com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.withObjectIdWriter.

Doc from com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.withObjectIdWriter.

Deprecated

as a consequence of BeanSerializerBase being deprecated. See corresponding docs for further information.

Mutant factory used for creating a new instance with different ObjectIdWriter.

Annotations
@Override
withPropertiesback to summary
protected BeanSerializerBase withProperties(BeanPropertyWriter[] properties, BeanPropertyWriter[] filteredProperties)

Implements abstract com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.withProperties.

Doc from com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.withProperties.

Deprecated

as a consequence of BeanSerializerBase being deprecated. See corresponding docs for further information.

Mutant factory used for creating a new instance with modified set of properties.

Note

in 2.11.x, need to keep non-abstract for slightly better compatibility (XML module extends)

Annotations
@Override