Class InstantSerializerBase<T extends java.time.temporal.Temporal>
- java.lang.Object
-
- com.fasterxml.jackson.databind.JsonSerializer<T>
-
- com.fasterxml.jackson.databind.ser.std.StdSerializer<T>
-
- com.fasterxml.jackson.datatype.jsr310.ser.JSR310SerializerBase<T>
-
- com.fasterxml.jackson.datatype.jsr310.ser.JSR310FormattedSerializerBase<T>
-
- com.fasterxml.jackson.datatype.jsr310.ser.InstantSerializerBase<T>
-
- All Implemented Interfaces:
com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitable
,com.fasterxml.jackson.databind.jsonschema.SchemaAware
,com.fasterxml.jackson.databind.ser.ContextualSerializer
,java.io.Serializable
- Direct Known Subclasses:
InstantSerializer
,OffsetDateTimeSerializer
,ZonedDateTimeSerializer
,ZonedDateTimeWithZoneIdSerializer
public abstract class InstantSerializerBase<T extends java.time.temporal.Temporal> extends JSR310FormattedSerializerBase<T>
Base class for serializers used forInstant
and otherTemporal
subtypes.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private java.time.format.DateTimeFormatter
defaultFormat
private java.util.function.ToLongFunction<T>
getEpochMillis
private java.util.function.ToLongFunction<T>
getEpochSeconds
private java.util.function.ToIntFunction<T>
getNanoseconds
-
Fields inherited from class com.fasterxml.jackson.datatype.jsr310.ser.JSR310FormattedSerializerBase
_formatter, _integerListType, _shape, _useNanoseconds, _useTimestamp
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
InstantSerializerBase(InstantSerializerBase<T> base, java.lang.Boolean useTimestamp, java.lang.Boolean useNanoseconds, java.time.format.DateTimeFormatter dtf)
protected
InstantSerializerBase(InstantSerializerBase<T> base, java.lang.Boolean useTimestamp, java.lang.Boolean useNanoseconds, java.time.format.DateTimeFormatter dtf, com.fasterxml.jackson.annotation.JsonFormat.Shape shape)
protected
InstantSerializerBase(InstantSerializerBase<T> base, java.lang.Boolean useTimestamp, java.time.format.DateTimeFormatter dtf)
protected
InstantSerializerBase(java.lang.Class<T> supportedType, java.util.function.ToLongFunction<T> getEpochMillis, java.util.function.ToLongFunction<T> getEpochSeconds, java.util.function.ToIntFunction<T> getNanoseconds, java.time.format.DateTimeFormatter formatter)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected void
_acceptTimestampVisitor(com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitorWrapper visitor, com.fasterxml.jackson.databind.JavaType typeHint)
protected java.lang.String
formatValue(T value, com.fasterxml.jackson.databind.SerializerProvider provider)
protected com.fasterxml.jackson.core.JsonToken
serializationShape(com.fasterxml.jackson.databind.SerializerProvider provider)
Overridable helper method used fromJSR310SerializerBase.serializeWithType(T, com.fasterxml.jackson.core.JsonGenerator, com.fasterxml.jackson.databind.SerializerProvider, com.fasterxml.jackson.databind.jsontype.TypeSerializer)
, to indicate shape of value during serialization; needed to know how type id is to be serialized.void
serialize(T value, com.fasterxml.jackson.core.JsonGenerator generator, com.fasterxml.jackson.databind.SerializerProvider provider)
protected abstract JSR310FormattedSerializerBase<?>
withFormat(java.lang.Boolean useTimestamp, java.time.format.DateTimeFormatter dtf, com.fasterxml.jackson.annotation.JsonFormat.Shape shape)
-
Methods inherited from class com.fasterxml.jackson.datatype.jsr310.ser.JSR310FormattedSerializerBase
_integerListType, _useDateTimeFormatter, _useTimestampExplicitOnly, acceptJsonFormatVisitor, createContextual, getSchema, getTimestampsFeature, useNanoseconds, useTimestamp, withFeatures, withFeatures
-
Methods inherited from class com.fasterxml.jackson.datatype.jsr310.ser.JSR310SerializerBase
serializeWithType
-
Methods inherited from class com.fasterxml.jackson.databind.ser.std.StdSerializer
_neitherNull, _nonEmpty, createSchemaNode, createSchemaNode, findAnnotatedContentSerializer, findContextualConvertingSerializer, findConvertingContentSerializer, findFormatFeature, findFormatOverrides, findIncludeOverrides, findPropertyFilter, getSchema, handledType, isDefaultSerializer, visitArrayFormat, visitArrayFormat, visitFloatFormat, visitIntFormat, visitIntFormat, visitStringFormat, visitStringFormat, wrapAndThrow, wrapAndThrow
-
-
-
-
Field Detail
-
defaultFormat
private final java.time.format.DateTimeFormatter defaultFormat
-
getEpochMillis
private final java.util.function.ToLongFunction<T extends java.time.temporal.Temporal> getEpochMillis
-
getEpochSeconds
private final java.util.function.ToLongFunction<T extends java.time.temporal.Temporal> getEpochSeconds
-
getNanoseconds
private final java.util.function.ToIntFunction<T extends java.time.temporal.Temporal> getNanoseconds
-
-
Constructor Detail
-
InstantSerializerBase
protected InstantSerializerBase(java.lang.Class<T> supportedType, java.util.function.ToLongFunction<T> getEpochMillis, java.util.function.ToLongFunction<T> getEpochSeconds, java.util.function.ToIntFunction<T> getNanoseconds, java.time.format.DateTimeFormatter formatter)
-
InstantSerializerBase
protected InstantSerializerBase(InstantSerializerBase<T> base, java.lang.Boolean useTimestamp, java.time.format.DateTimeFormatter dtf)
-
InstantSerializerBase
protected InstantSerializerBase(InstantSerializerBase<T> base, java.lang.Boolean useTimestamp, java.lang.Boolean useNanoseconds, java.time.format.DateTimeFormatter dtf)
-
InstantSerializerBase
protected InstantSerializerBase(InstantSerializerBase<T> base, java.lang.Boolean useTimestamp, java.lang.Boolean useNanoseconds, java.time.format.DateTimeFormatter dtf, com.fasterxml.jackson.annotation.JsonFormat.Shape shape)
- Since:
- 2.14
-
-
Method Detail
-
withFormat
protected abstract JSR310FormattedSerializerBase<?> withFormat(java.lang.Boolean useTimestamp, java.time.format.DateTimeFormatter dtf, com.fasterxml.jackson.annotation.JsonFormat.Shape shape)
- Specified by:
withFormat
in classJSR310FormattedSerializerBase<T extends java.time.temporal.Temporal>
-
serialize
public void serialize(T value, com.fasterxml.jackson.core.JsonGenerator generator, com.fasterxml.jackson.databind.SerializerProvider provider) throws java.io.IOException
- Specified by:
serialize
in classcom.fasterxml.jackson.databind.ser.std.StdSerializer<T extends java.time.temporal.Temporal>
- Throws:
java.io.IOException
-
_acceptTimestampVisitor
protected void _acceptTimestampVisitor(com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitorWrapper visitor, com.fasterxml.jackson.databind.JavaType typeHint) throws com.fasterxml.jackson.databind.JsonMappingException
- Overrides:
_acceptTimestampVisitor
in classJSR310FormattedSerializerBase<T extends java.time.temporal.Temporal>
- Throws:
com.fasterxml.jackson.databind.JsonMappingException
-
serializationShape
protected com.fasterxml.jackson.core.JsonToken serializationShape(com.fasterxml.jackson.databind.SerializerProvider provider)
Description copied from class:JSR310SerializerBase
Overridable helper method used fromJSR310SerializerBase.serializeWithType(T, com.fasterxml.jackson.core.JsonGenerator, com.fasterxml.jackson.databind.SerializerProvider, com.fasterxml.jackson.databind.jsontype.TypeSerializer)
, to indicate shape of value during serialization; needed to know how type id is to be serialized.- Specified by:
serializationShape
in classJSR310SerializerBase<T extends java.time.temporal.Temporal>
-
formatValue
protected java.lang.String formatValue(T value, com.fasterxml.jackson.databind.SerializerProvider provider)
-
-