public class UnwrappingBeanSerializer extends BeanSerializerBase
JsonSerializer.None| Modifier and Type | Field and Description |
|---|---|
protected NameTransformer |
_nameTransformer
Transformer used to add prefix and/or suffix for properties
of unwrapped POJO.
|
_anyGetterWriter, _filteredProps, _objectIdWriter, _propertyFilterId, _props, _serializationShape, _typeId, NAME_FOR_OBJECT_REF, NO_PROPS_handledType| Modifier | Constructor and Description |
|---|---|
|
UnwrappingBeanSerializer(BeanSerializerBase src,
NameTransformer transformer)
Constructor used for creating unwrapping instance of a
standard
BeanSerializer |
|
UnwrappingBeanSerializer(UnwrappingBeanSerializer src,
ObjectIdWriter objectIdWriter) |
|
UnwrappingBeanSerializer(UnwrappingBeanSerializer src,
ObjectIdWriter objectIdWriter,
Object filterId) |
protected |
UnwrappingBeanSerializer(UnwrappingBeanSerializer src,
String[] toIgnore) |
| Modifier and Type | Method and Description |
|---|---|
protected BeanSerializerBase |
asArraySerializer()
JSON Array output can not be done if unwrapping operation is
requested; so implementation will simply return 'this'.
|
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. |
void |
serializeWithType(Object bean,
JsonGenerator jgen,
SerializerProvider provider,
TypeSerializer typeSer)
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.
|
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 BeanSerializerBase |
withFilterId(Object filterId)
Mutant factory used for creating a new instance with different
filter id (used with
JsonFilter annotation) |
protected BeanSerializerBase |
withIgnorals(String[] toIgnore)
Mutant factory used for creating a new instance with additional
set of properties to ignore (from properties this instance otherwise has)
|
BeanSerializerBase |
withObjectIdWriter(ObjectIdWriter objectIdWriter)
Mutant factory used for creating a new instance with different
ObjectIdWriter. |
_serializeObjectId, _serializeWithObjectId, _serializeWithObjectId, acceptJsonFormatVisitor, createContextual, findConvertingSerializer, getSchema, resolve, serializeFields, serializeFieldsFiltered, usesObjectIdcreateObjectNode, createSchemaNode, createSchemaNode, findConvertingContentSerializer, findPropertyFilter, getSchema, handledType, isDefaultSerializer, wrapAndThrow, wrapAndThrowgetDelegatee, isEmpty, replaceDelegateeclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetSchemaprotected final NameTransformer _nameTransformer
public UnwrappingBeanSerializer(BeanSerializerBase src, NameTransformer transformer)
BeanSerializerpublic UnwrappingBeanSerializer(UnwrappingBeanSerializer src, ObjectIdWriter objectIdWriter)
public UnwrappingBeanSerializer(UnwrappingBeanSerializer src, ObjectIdWriter objectIdWriter, Object filterId)
protected UnwrappingBeanSerializer(UnwrappingBeanSerializer src, String[] toIgnore)
public JsonSerializer<Object> unwrappingSerializer(NameTransformer transformer)
JsonSerializerDefault implementation just returns serializer as-is, indicating that no unwrapped variant exists
unwrappingSerializer in class JsonSerializer<Object>transformer - Name transformation to use to convert between names
of unwrapper propertiespublic boolean isUnwrappingSerializer()
JsonSerializerisUnwrappingSerializer in class JsonSerializer<Object>public BeanSerializerBase withObjectIdWriter(ObjectIdWriter objectIdWriter)
BeanSerializerBaseObjectIdWriter.withObjectIdWriter in class BeanSerializerBaseprotected BeanSerializerBase withFilterId(Object filterId)
BeanSerializerBaseJsonFilter annotation)withFilterId in class BeanSerializerBaseprotected BeanSerializerBase withIgnorals(String[] toIgnore)
BeanSerializerBasewithIgnorals in class BeanSerializerBaseprotected BeanSerializerBase asArraySerializer()
asArraySerializer in class BeanSerializerBasepublic final void serialize(Object bean, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonGenerationException
BeanPropertyWriter instances.serialize in class BeanSerializerBasebean - Value to serialize; can not be null.jgen - Generator used to output resulting Json contentprovider - Provider that can be used to get serializers for
serializing Objects value contains, if any.IOExceptionJsonGenerationExceptionpublic void serializeWithType(Object bean, JsonGenerator jgen, SerializerProvider provider, TypeSerializer typeSer) throws IOException, JsonGenerationException
JsonSerializer
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, jgen); serialize(value, jgen, provider); typeSer.writeTypeSuffixForScalar(value, jgen);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.serializeWithType in class BeanSerializerBasebean - Value to serialize; can not be null.jgen - Generator used to output resulting Json contentprovider - Provider that can be used to get serializers for
serializing Objects value contains, if any.typeSer - Type serializer to use for including type informationIOExceptionJsonGenerationExceptionCopyright © 2014 FasterXML. All Rights Reserved.