Class JSR310FormattedSerializerBase<T>
java.lang.Object
tools.jackson.databind.ValueSerializer<T>
tools.jackson.databind.ser.std.StdSerializer<T>
tools.jackson.databind.ext.javatime.ser.JSR310SerializerBase<T>
tools.jackson.databind.ext.javatime.ser.JSR310FormattedSerializerBase<T>
- All Implemented Interfaces:
JsonFormatVisitable
- Direct Known Subclasses:
DurationSerializer, InstantSerializerBase, LocalDateSerializer, LocalDateTimeSerializer, LocalTimeSerializer, MonthDaySerializer, MonthSerializer, OffsetTimeSerializer, YearMonthSerializer, YearSerializer
Base class that provides an array schema instead of scalar schema if
is enabled.
invalid reference
SerializationFeature#WRITE_DATES_AS_TIMESTAMPS
-
Nested Class Summary
Nested classes/interfaces inherited from class ValueSerializer
ValueSerializer.None -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final DateTimeFormatterSpecific format to use, if not default format: non-null value also indicates that serialization is to be done as JSON String, not numeric timestamp, unless#_useTimestampis true.protected JavaTypeLazily constructedJavaTyperepresenting typeList<Integer>.protected final com.fasterxml.jackson.annotation.JsonFormat.Shapeprotected final BooleanFlag that indicates that numeric timestamp values must be written using nanosecond timestamps if the datatype supports such resolution, regardless of other settings.protected final BooleanFlag that indicates that serialization must be done as the Java timestamp, regardless of other settings.Fields inherited from class StdSerializer
_handledType -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedJSR310FormattedSerializerBase(Class<T> supportedType) protectedJSR310FormattedSerializerBase(Class<T> supportedType, DateTimeFormatter formatter) protectedJSR310FormattedSerializerBase(JSR310FormattedSerializerBase<?> base, DateTimeFormatter dtf, Boolean useTimestamp, Boolean useNanoseconds, com.fasterxml.jackson.annotation.JsonFormat.Shape shape) -
Method Summary
Modifier and TypeMethodDescriptionprotected void_acceptTimestampVisitor(JsonFormatVisitorWrapper visitor, JavaType typeHint) protected JavaTypeprotected DateTimeFormatter_useDateTimeFormatter(SerializationContext ctxt, com.fasterxml.jackson.annotation.JsonFormat.Value format) protected booleanvoidacceptJsonFormatVisitor(JsonFormatVisitorWrapper visitor, JavaType typeHint) Default implementation specifies no format.createContextual(SerializationContext ctxt, BeanProperty property) Method called to see if a different (or differently configured) serializer is needed to serialize values of specified property (or, for root values, in which case `null` is passed).protected DateTimeFeatureOverridable method that determinesSerializationFeaturethat is used as the global default in determining if date/time value serialized should use numeric format ("timestamp") or not.protected booleanprotected booleanprotected booleanprotected JSR310FormattedSerializerBase<?> withFeatures(Boolean writeZoneId, Boolean writeNanoseconds) protected abstract JSR310FormattedSerializerBase<?> withFormat(DateTimeFormatter dtf, Boolean useTimestamp, com.fasterxml.jackson.annotation.JsonFormat.Shape shape) Methods inherited from class JSR310SerializerBase
serializationShape, serializeWithTypeMethods inherited from class StdSerializer
_neitherNull, _nonEmpty, _wrapIOFailure, acceptJsonFormatVisitorForBinary, createSchemaNode, createSchemaNode, findAnnotatedContentSerializer, findContextualConvertingSerializer, findFormatFeature, findFormatOverrides, findIncludeOverrides, findPropertyFilter, handledType, isDefaultSerializer, serialize, visitArrayFormat, visitArrayFormat, visitFloatFormat, visitIntFormat, visitIntFormat, visitStringFormat, visitStringFormat, wrapAndThrow, wrapAndThrowMethods inherited from class ValueSerializer
getDelegatee, isEmpty, isUnwrappingSerializer, properties, replaceDelegatee, resolve, unwrappingSerializer, usesObjectId, withFilterId, withFormatOverrides, withIgnoredProperties
-
Field Details
-
_useTimestamp
Flag that indicates that serialization must be done as the Java timestamp, regardless of other settings. -
_useNanoseconds
Flag that indicates that numeric timestamp values must be written using nanosecond timestamps if the datatype supports such resolution, regardless of other settings. -
_formatter
Specific format to use, if not default format: non-null value also indicates that serialization is to be done as JSON String, not numeric timestamp, unless#_useTimestampis true. -
_shape
protected final com.fasterxml.jackson.annotation.JsonFormat.Shape _shape -
_integerListType
Lazily constructedJavaTyperepresenting typeList<Integer>.
-
-
Constructor Details
-
JSR310FormattedSerializerBase
-
JSR310FormattedSerializerBase
-
JSR310FormattedSerializerBase
protected JSR310FormattedSerializerBase(JSR310FormattedSerializerBase<?> base, DateTimeFormatter dtf, Boolean useTimestamp, Boolean useNanoseconds, com.fasterxml.jackson.annotation.JsonFormat.Shape shape)
-
-
Method Details
-
withFormat
protected abstract JSR310FormattedSerializerBase<?> withFormat(DateTimeFormatter dtf, Boolean useTimestamp, com.fasterxml.jackson.annotation.JsonFormat.Shape shape) -
withFeatures
protected JSR310FormattedSerializerBase<?> withFeatures(Boolean writeZoneId, Boolean writeNanoseconds) -
createContextual
Description copied from class:ValueSerializerMethod called to see if a different (or differently configured) serializer is needed to serialize values of specified property (or, for root values, in which case `null` is passed). Note that instance that this method is called on is typically shared one and as a result method should NOT modify this instance but rather construct and return a new instance. This instance should only be returned as-is, in case it is already suitable for use.Note that method is only called once per POJO property, and for the first usage as root value serializer; it is not called for every serialization, as doing that would have significant performance impact; most serializers cache contextual instances for future use.
- Overrides:
createContextualin classValueSerializer<T>- Parameters:
ctxt- Context to use for accessing config, other serializersproperty- Property (defined by one or more accessors - field or method - used for accessing logical property value) for which serializer is used to be used; or, `null` for root value (or in cases where caller does not have this information, which is handled as root value case).- Returns:
- Serializer to use for serializing values of specified property; may be this instance or a new instance.
-
acceptJsonFormatVisitor
Description copied from class:StdSerializerDefault implementation specifies no format. This behavior is usually overriden by custom serializers.- Specified by:
acceptJsonFormatVisitorin interfaceJsonFormatVisitable- Overrides:
acceptJsonFormatVisitorin classStdSerializer<T>- Parameters:
typeHint- Type of element (entity like property) being visited
-
_acceptTimestampVisitor
-
_integerListType
-
getTimestampsFeature
Overridable method that determinesSerializationFeaturethat is used as the global default in determining if date/time value serialized should use numeric format ("timestamp") or not.Note that this feature is just the baseline setting and may be overridden on per-type or per-property basis.
-
useTimestamp
-
useTimestampFromGlobalDefaults
-
_useTimestampExplicitOnly
-
useNanoseconds
-
_useDateTimeFormatter
protected DateTimeFormatter _useDateTimeFormatter(SerializationContext ctxt, com.fasterxml.jackson.annotation.JsonFormat.Value format)
-