java.lang.Object
tools.jackson.databind.ValueSerializer<T>
tools.jackson.databind.ser.std.StdSerializer<Object>
tools.jackson.databind.ser.bean.BeanSerializerBase
tools.jackson.databind.ser.BeanSerializer
- All Implemented Interfaces:
JsonFormatVisitable
Serializer class that can serialize Java objects that map
to JSON Object output. Internally handling is mostly dealt with
by a sequence of
BeanPropertyWriters that will handle
access value to serialize and call appropriate serializers to
write out JSON.
Implementation note: we will post-process resulting serializer,
to figure out actual serializers for final types. This must be
done from BeanSerializerBase.resolve(tools.jackson.databind.SerializationContext) method, and NOT from constructor;
otherwise we could end up with an infinite loop.
-
Nested Class Summary
Nested classes/interfaces inherited from class tools.jackson.databind.ValueSerializer
ValueSerializer.None -
Field Summary
Fields inherited from class tools.jackson.databind.ser.bean.BeanSerializerBase
_beanType, _filteredProps, _objectIdWriter, _propertyFilterId, _props, _serializationShape, _typeId, NAME_FOR_OBJECT_REF, NO_PROPSFields inherited from class tools.jackson.databind.ser.std.StdSerializer
_handledType -
Constructor Summary
ConstructorsModifierConstructorDescriptionBeanSerializer(JavaType type, BeanSerializerBuilder builder, BeanPropertyWriter[] properties, BeanPropertyWriter[] filteredProperties) protectedAlternate copy constructor that can be used to construct standardBeanSerializerpassing an instance of "compatible enough" source serializer.protectedBeanSerializer(BeanSerializerBase src, Set<String> toIgnore, Set<String> toInclude) protectedBeanSerializer(BeanSerializerBase src, BeanPropertyWriter[] properties, BeanPropertyWriter[] filteredProperties) protectedBeanSerializer(BeanSerializerBase src, ObjectIdWriter objectIdWriter) protectedBeanSerializer(BeanSerializerBase src, ObjectIdWriter objectIdWriter, Object filterId) -
Method Summary
Modifier and TypeMethodDescriptionprotected BeanSerializerBaseImplementation has to check whether as-array serialization is possible reliably; if (and only if) so, will construct aBeanAsArraySerializer, otherwise will return this serializer as is.static BeanSerializercreateDummy(JavaType forType, BeanSerializerBuilder builder) Method for constructing dummy bean serializer; one that never outputs any propertiesvoidserialize(Object bean, JsonGenerator gen, SerializationContext provider) Main serialization method that will delegate actual output to configuredBeanPropertyWriterinstances.unwrappingSerializer(NameTransformer unwrapper) Lets force sub-classes to implement this, to avoid accidental missing of handling...protected BeanSerializerBasewithByNameInclusion(Set<String> toIgnore, Set<String> toInclude) Mutant factory used for creating a new instance with additional set of properties to ignore or include (from properties this instance otherwise has)withFilterId(Object filterId) Mutant factory used for creating a new instance with different filter id (used withJsonFilterannotation)withIgnoredProperties(Set<String> toIgnore) Mutant factory method called to create a new instance after excluding specified set of properties by name, if there is any.withObjectIdWriter(ObjectIdWriter objectIdWriter) Mutant factory used for creating a new instance with differentObjectIdWriter.protected BeanSerializerBasewithProperties(BeanPropertyWriter[] properties, BeanPropertyWriter[] filteredProperties) Mutant factory used for creating a new instance with modified set of propertiesMethods inherited from class tools.jackson.databind.ser.bean.BeanSerializerBase
_serializeObjectId, _serializeProperties, _serializePropertiesFiltered, _serializePropertiesMaybeView, _serializePropertiesNoView, _serializeWithObjectId, _serializeWithObjectId, _typeIdDef, acceptJsonFormatVisitor, canCreateArraySerializer, createContextual, findConvertingSerializer, getFilterId, hasViewProperties, properties, propertyCount, resolve, serializeWithType, toString, usesObjectIdMethods inherited from class tools.jackson.databind.ser.std.StdSerializer
_neitherNull, _nonEmpty, _wrapIOFailure, acceptJsonFormatVisitorForBinary, createSchemaNode, createSchemaNode, findAnnotatedContentSerializer, findContextualConvertingSerializer, findFormatFeature, findFormatOverrides, findIncludeOverrides, findPropertyFilter, handledType, isDefaultSerializer, visitArrayFormat, visitArrayFormat, visitFloatFormat, visitIntFormat, visitIntFormat, visitStringFormat, visitStringFormat, wrapAndThrow, wrapAndThrowMethods inherited from class tools.jackson.databind.ValueSerializer
getDelegatee, isEmpty, isUnwrappingSerializer, replaceDelegatee, withFormatOverrides
-
Constructor Details
-
BeanSerializer
public BeanSerializer(JavaType type, BeanSerializerBuilder builder, BeanPropertyWriter[] properties, BeanPropertyWriter[] filteredProperties) - Parameters:
builder- Builder object that contains collected information that may be needed for serializerproperties- Property writers used for actual serialization
-
BeanSerializer
Alternate copy constructor that can be used to construct standardBeanSerializerpassing an instance of "compatible enough" source serializer. -
BeanSerializer
-
BeanSerializer
-
BeanSerializer
-
BeanSerializer
protected BeanSerializer(BeanSerializerBase src, BeanPropertyWriter[] properties, BeanPropertyWriter[] filteredProperties)
-
-
Method Details
-
createDummy
Method for constructing dummy bean serializer; one that never outputs any properties -
unwrappingSerializer
Description copied from class:BeanSerializerBaseLets force sub-classes to implement this, to avoid accidental missing of handling...- Specified by:
unwrappingSerializerin classBeanSerializerBase- Parameters:
unwrapper- Name transformation to use to convert between names of unwrapper properties
-
withObjectIdWriter
Description copied from class:BeanSerializerBaseMutant factory used for creating a new instance with differentObjectIdWriter.- Specified by:
withObjectIdWriterin classBeanSerializerBase
-
withFilterId
Description copied from class:BeanSerializerBaseMutant factory used for creating a new instance with different filter id (used withJsonFilterannotation)- Specified by:
withFilterIdin classBeanSerializerBase
-
withByNameInclusion
Description copied from class:BeanSerializerBaseMutant factory used for creating a new instance with additional set of properties to ignore or include (from properties this instance otherwise has)- Specified by:
withByNameInclusionin classBeanSerializerBase
-
withProperties
protected BeanSerializerBase withProperties(BeanPropertyWriter[] properties, BeanPropertyWriter[] filteredProperties) Description copied from class:BeanSerializerBaseMutant factory used for creating a new instance with modified set of properties- Specified by:
withPropertiesin classBeanSerializerBase
-
withIgnoredProperties
Description copied from class:ValueSerializerMutant factory method called to create a new instance after excluding specified set of properties by name, if there is any.- Overrides:
withIgnoredPropertiesin classValueSerializer<Object>- Parameters:
toIgnore- Set of property names to ignore for serialization;- Returns:
- Serializer instance that without specified set of properties to ignore (if any)
-
asArraySerializer
Implementation has to check whether as-array serialization is possible reliably; if (and only if) so, will construct aBeanAsArraySerializer, otherwise will return this serializer as is.- Specified by:
asArraySerializerin classBeanSerializerBase
-
serialize
public void serialize(Object bean, JsonGenerator gen, SerializationContext provider) throws JacksonException Main serialization method that will delegate actual output to configuredBeanPropertyWriterinstances.- Specified by:
serializein classBeanSerializerBase- Parameters:
bean- Value to serialize; can not be null.gen- Generator used to output resulting Json contentprovider- Context that can be used to get serializers for serializing Objects value contains, if any.- Throws:
JacksonException
-