com.fasterxml.jackson.databind.ser.impl
Class UnwrappingBeanSerializer

java.lang.Object
  extended by com.fasterxml.jackson.databind.JsonSerializer<T>
      extended by com.fasterxml.jackson.databind.ser.std.StdSerializer<Object>
          extended by com.fasterxml.jackson.databind.ser.std.BeanSerializerBase
              extended by com.fasterxml.jackson.databind.ser.impl.UnwrappingBeanSerializer
All Implemented Interfaces:
SchemaAware, ContextualSerializer, ResolvableSerializer

public class UnwrappingBeanSerializer
extends BeanSerializerBase


Nested Class Summary
 
Nested classes/interfaces inherited from class com.fasterxml.jackson.databind.JsonSerializer
JsonSerializer.None
 
Field Summary
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.std.BeanSerializerBase
_anyGetterWriter, _filteredProps, _objectIdWriter, _propertyFilterId, _props, _typeId, NO_PROPS
 
Fields inherited from class com.fasterxml.jackson.databind.ser.std.StdSerializer
_handledType
 
Constructor Summary
  UnwrappingBeanSerializer(BeanSerializerBase src, NameTransformer transformer)
          Constructor used for creating unwrapping instance of a standard BeanSerializer
  UnwrappingBeanSerializer(UnwrappingBeanSerializer src, ObjectIdWriter objectIdWriter)
           
protected UnwrappingBeanSerializer(UnwrappingBeanSerializer src, String[] toIgnore)
           
 
Method Summary
 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, com.fasterxml.jackson.core.JsonGenerator jgen, SerializerProvider provider)
          Main serialization method that will delegate actual output to configured BeanPropertyWriter instances.
 String toString()
           
 JsonSerializer<Object> unwrappingSerializer(NameTransformer transformer)
          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  UnwrappingBeanSerializer withIgnorals(String[] toIgnore)
          Fluent factory used for creating a new instance with additional set of properties to ignore (from properties this instance otherwise has)
protected  UnwrappingBeanSerializer withObjectIdWriter(ObjectIdWriter objectIdWriter)
          Fluent factory used for creating a new instance with different ObjectIdWriter.
 
Methods inherited from class com.fasterxml.jackson.databind.ser.std.BeanSerializerBase
createContextual, findFilter, getSchema, resolve, serializeFields, serializeFieldsFiltered, serializeWithType, usesObjectId
 
Methods inherited from class com.fasterxml.jackson.databind.ser.std.StdSerializer
createObjectNode, createSchemaNode, createSchemaNode, handledType, isDefaultSerializer, wrapAndThrow, wrapAndThrow
 
Methods inherited from class com.fasterxml.jackson.databind.JsonSerializer
isEmpty
 
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

UnwrappingBeanSerializer

public UnwrappingBeanSerializer(BeanSerializerBase src,
                                NameTransformer transformer)
Constructor used for creating unwrapping instance of a standard BeanSerializer


UnwrappingBeanSerializer

public UnwrappingBeanSerializer(UnwrappingBeanSerializer src,
                                ObjectIdWriter objectIdWriter)

UnwrappingBeanSerializer

protected UnwrappingBeanSerializer(UnwrappingBeanSerializer src,
                                   String[] toIgnore)
Method Detail

unwrappingSerializer

public JsonSerializer<Object> unwrappingSerializer(NameTransformer transformer)
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>
Parameters:
transformer - Name transformation to use to convert between names of unwrapper properties

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>

withObjectIdWriter

protected UnwrappingBeanSerializer withObjectIdWriter(ObjectIdWriter objectIdWriter)
Description copied from class: BeanSerializerBase
Fluent factory used for creating a new instance with different ObjectIdWriter.

Specified by:
withObjectIdWriter in class BeanSerializerBase

withIgnorals

protected UnwrappingBeanSerializer withIgnorals(String[] toIgnore)
Description copied from class: BeanSerializerBase
Fluent factory used for creating a new instance with additional set of properties to ignore (from properties this instance otherwise has)

Specified by:
withIgnorals in class BeanSerializerBase

serialize

public final void serialize(Object bean,
                            com.fasterxml.jackson.core.JsonGenerator jgen,
                            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 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
com.fasterxml.jackson.core.JsonGenerationException

toString

public String toString()
Overrides:
toString in class Object


Copyright © 2012 fasterxml.com. All Rights Reserved.