public class DurationSerializer
extends com.fasterxml.jackson.databind.ser.std.StdSerializer<T>
Duration
s.
NOTE: since 2.10, SerializationFeature.WRITE_DURATIONS_AS_TIMESTAMPS
determines global default used for determining if serialization should use
numeric (timestamps) or textual representation. Before this,
SerializationFeature.WRITE_DATES_AS_TIMESTAMPS
was used.
Modifier and Type | Field and Description |
---|---|
protected DateTimeFormatter |
_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
#_useTimestamp is true. |
protected com.fasterxml.jackson.databind.JavaType |
_integerListType
Lazily constructed
JavaType representing type
List<Integer> . |
protected com.fasterxml.jackson.annotation.JsonFormat.Shape |
_shape |
protected Boolean |
_useNanoseconds
Flag that indicates that numeric timestamp values must be written using
nanosecond timestamps if the datatype supports such resolution,
regardless of other settings.
|
protected Boolean |
_useTimestamp
Flag that indicates that serialization must be done as the
Java timestamp, regardless of other settings.
|
static DurationSerializer |
INSTANCE |
Modifier | Constructor and Description |
---|---|
protected |
DurationSerializer() |
protected |
DurationSerializer(DurationSerializer base,
Boolean useTimestamp,
Boolean useNanoseconds,
DateTimeFormatter dtf) |
protected |
DurationSerializer(DurationSerializer base,
Boolean useTimestamp,
DateTimeFormatter dtf) |
protected |
DurationSerializer(DurationSerializer base,
DurationUnitConverter converter) |
Modifier and Type | Method and Description |
---|---|
protected void |
_acceptTimestampVisitor(com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitorWrapper visitor,
com.fasterxml.jackson.databind.JavaType typeHint) |
protected com.fasterxml.jackson.databind.JavaType |
_integerListType(com.fasterxml.jackson.databind.SerializerProvider prov) |
protected DateTimeFormatter |
_useDateTimeFormatter(com.fasterxml.jackson.databind.SerializerProvider prov,
com.fasterxml.jackson.annotation.JsonFormat.Value format) |
protected boolean |
_useTimestampExplicitOnly(com.fasterxml.jackson.databind.SerializerProvider provider) |
void |
acceptJsonFormatVisitor(com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitorWrapper visitor,
com.fasterxml.jackson.databind.JavaType typeHint) |
com.fasterxml.jackson.databind.JsonSerializer<?> |
createContextual(com.fasterxml.jackson.databind.SerializerProvider prov,
com.fasterxml.jackson.databind.BeanProperty property) |
com.fasterxml.jackson.databind.JsonNode |
getSchema(com.fasterxml.jackson.databind.SerializerProvider provider,
Type typeHint) |
protected com.fasterxml.jackson.databind.SerializationFeature |
getTimestampsFeature()
Overridable method that determines
SerializationFeature that is used as
the global default in determining if date/time value serialized should use numeric
format ("timestamp") or not. |
protected com.fasterxml.jackson.core.JsonToken |
serializationShape(com.fasterxml.jackson.databind.SerializerProvider provider)
Overridable helper method used from
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(Duration duration,
com.fasterxml.jackson.core.JsonGenerator generator,
com.fasterxml.jackson.databind.SerializerProvider provider) |
void |
serializeWithType(T value,
com.fasterxml.jackson.core.JsonGenerator g,
com.fasterxml.jackson.databind.SerializerProvider provider,
com.fasterxml.jackson.databind.jsontype.TypeSerializer typeSer) |
protected boolean |
useNanoseconds(com.fasterxml.jackson.databind.SerializerProvider provider) |
protected boolean |
useTimestamp(com.fasterxml.jackson.databind.SerializerProvider provider) |
protected DurationSerializer |
withConverter(DurationUnitConverter converter) |
protected com.fasterxml.jackson.datatype.jsr310.ser.JSR310FormattedSerializerBase<?> |
withFeatures(Boolean writeZoneId)
Deprecated.
|
protected com.fasterxml.jackson.datatype.jsr310.ser.JSR310FormattedSerializerBase<?> |
withFeatures(Boolean writeZoneId,
Boolean writeNanoseconds) |
protected DurationSerializer |
withFormat(Boolean useTimestamp,
DateTimeFormatter dtf,
com.fasterxml.jackson.annotation.JsonFormat.Shape shape) |
_neitherNull, _nonEmpty, createSchemaNode, createSchemaNode, findAnnotatedContentSerializer, findContextualConvertingSerializer, findConvertingContentSerializer, findFormatFeature, findFormatOverrides, findIncludeOverrides, findPropertyFilter, getSchema, handledType, isDefaultSerializer, visitArrayFormat, visitArrayFormat, visitFloatFormat, visitIntFormat, visitIntFormat, visitStringFormat, visitStringFormat, wrapAndThrow, wrapAndThrow
public static final DurationSerializer INSTANCE
protected final Boolean _useTimestamp
protected final Boolean _useNanoseconds
protected final DateTimeFormatter _formatter
#_useTimestamp
is true.protected final com.fasterxml.jackson.annotation.JsonFormat.Shape _shape
protected transient volatile com.fasterxml.jackson.databind.JavaType _integerListType
JavaType
representing type
List<Integer>
.protected DurationSerializer()
protected DurationSerializer(DurationSerializer base, Boolean useTimestamp, DateTimeFormatter dtf)
protected DurationSerializer(DurationSerializer base, Boolean useTimestamp, Boolean useNanoseconds, DateTimeFormatter dtf)
protected DurationSerializer(DurationSerializer base, DurationUnitConverter converter)
protected DurationSerializer withFormat(Boolean useTimestamp, DateTimeFormatter dtf, com.fasterxml.jackson.annotation.JsonFormat.Shape shape)
protected DurationSerializer withConverter(DurationUnitConverter converter)
protected com.fasterxml.jackson.databind.SerializationFeature getTimestampsFeature()
SerializationFeature
that 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.
public com.fasterxml.jackson.databind.JsonSerializer<?> createContextual(com.fasterxml.jackson.databind.SerializerProvider prov, com.fasterxml.jackson.databind.BeanProperty property) throws com.fasterxml.jackson.databind.JsonMappingException
createContextual
in interface com.fasterxml.jackson.databind.ser.ContextualSerializer
com.fasterxml.jackson.databind.JsonMappingException
public void serialize(Duration duration, com.fasterxml.jackson.core.JsonGenerator generator, com.fasterxml.jackson.databind.SerializerProvider provider) throws IOException
serialize
in class com.fasterxml.jackson.databind.ser.std.StdSerializer<Duration>
IOException
protected void _acceptTimestampVisitor(com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitorWrapper visitor, com.fasterxml.jackson.databind.JavaType typeHint) throws com.fasterxml.jackson.databind.JsonMappingException
com.fasterxml.jackson.databind.JsonMappingException
protected com.fasterxml.jackson.core.JsonToken serializationShape(com.fasterxml.jackson.databind.SerializerProvider provider)
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.protected com.fasterxml.jackson.datatype.jsr310.ser.JSR310FormattedSerializerBase<?> withFeatures(Boolean writeZoneId, Boolean writeNanoseconds)
protected DateTimeFormatter _useDateTimeFormatter(com.fasterxml.jackson.databind.SerializerProvider prov, com.fasterxml.jackson.annotation.JsonFormat.Value format)
@Deprecated protected com.fasterxml.jackson.datatype.jsr310.ser.JSR310FormattedSerializerBase<?> withFeatures(Boolean writeZoneId)
public com.fasterxml.jackson.databind.JsonNode getSchema(com.fasterxml.jackson.databind.SerializerProvider provider, Type typeHint)
getSchema
in interface com.fasterxml.jackson.databind.jsonschema.SchemaAware
getSchema
in class com.fasterxml.jackson.databind.ser.std.StdSerializer<T>
public void acceptJsonFormatVisitor(com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitorWrapper visitor, com.fasterxml.jackson.databind.JavaType typeHint) throws com.fasterxml.jackson.databind.JsonMappingException
acceptJsonFormatVisitor
in interface com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitable
acceptJsonFormatVisitor
in class com.fasterxml.jackson.databind.ser.std.StdSerializer<T>
com.fasterxml.jackson.databind.JsonMappingException
protected com.fasterxml.jackson.databind.JavaType _integerListType(com.fasterxml.jackson.databind.SerializerProvider prov)
protected boolean useTimestamp(com.fasterxml.jackson.databind.SerializerProvider provider)
protected boolean _useTimestampExplicitOnly(com.fasterxml.jackson.databind.SerializerProvider provider)
protected boolean useNanoseconds(com.fasterxml.jackson.databind.SerializerProvider provider)
public void serializeWithType(T value, com.fasterxml.jackson.core.JsonGenerator g, com.fasterxml.jackson.databind.SerializerProvider provider, com.fasterxml.jackson.databind.jsontype.TypeSerializer typeSer) throws IOException
serializeWithType
in class com.fasterxml.jackson.databind.JsonSerializer<T>
IOException
Copyright © 2022 FasterXML. All rights reserved.