Class JSR310FormattedSerializerBase<T>
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>
- All Implemented Interfaces:
com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitable
,com.fasterxml.jackson.databind.jsonschema.SchemaAware
,com.fasterxml.jackson.databind.ser.ContextualSerializer
,Serializable
- Direct Known Subclasses:
DurationSerializer
,InstantSerializerBase
,LocalDateSerializer
,LocalDateTimeSerializer
,LocalTimeSerializer
,MonthDaySerializer
,OffsetTimeSerializer
,YearMonthSerializer
,YearSerializer
abstract class JSR310FormattedSerializerBase<T>
extends JSR310SerializerBase<T>
implements com.fasterxml.jackson.databind.ser.ContextualSerializer
Base class that provides an array schema instead of scalar schema if
SerializationFeature.WRITE_DATES_AS_TIMESTAMPS
is enabled.- Since:
- 2.2
-
Nested Class Summary
Nested classes/interfaces inherited from class com.fasterxml.jackson.databind.JsonSerializer
com.fasterxml.jackson.databind.JsonSerializer.None
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final DateTimeFormatter
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
Lazily constructedJavaType
representing typeList<Integer>
.protected final com.fasterxml.jackson.annotation.JsonFormat.Shape
protected final Boolean
Flag that indicates that numeric timestamp values must be written using nanosecond timestamps if the datatype supports such resolution, regardless of other settings.protected final Boolean
Flag that indicates that serialization must be done as the Java timestamp, regardless of other settings.private static final long
Fields inherited from class com.fasterxml.jackson.databind.ser.std.StdSerializer
_handledType
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
JSR310FormattedSerializerBase
(JSR310FormattedSerializerBase<?> base, Boolean useTimestamp, Boolean useNanoseconds, DateTimeFormatter dtf, com.fasterxml.jackson.annotation.JsonFormat.Shape shape) protected
JSR310FormattedSerializerBase
(JSR310FormattedSerializerBase<?> base, Boolean useTimestamp, DateTimeFormatter dtf, com.fasterxml.jackson.annotation.JsonFormat.Shape shape) protected
JSR310FormattedSerializerBase
(Class<T> supportedType) protected
JSR310FormattedSerializerBase
(Class<T> supportedType, DateTimeFormatter formatter) -
Method Summary
Modifier and TypeMethodDescriptionprotected 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
protected com.fasterxml.jackson.databind.SerializationFeature
Overridable method that determinesSerializationFeature
that is used as the global default in determining if date/time value serialized should use numeric format ("timestamp") or not.protected boolean
useNanoseconds
(com.fasterxml.jackson.databind.SerializerProvider provider) protected boolean
useTimestamp
(com.fasterxml.jackson.databind.SerializerProvider provider) protected JSR310FormattedSerializerBase
<?> withFeatures
(Boolean writeZoneId) Deprecated.protected JSR310FormattedSerializerBase
<?> withFeatures
(Boolean writeZoneId, Boolean writeNanoseconds) protected abstract JSR310FormattedSerializerBase
<?> withFormat
(Boolean useTimestamp, DateTimeFormatter dtf, com.fasterxml.jackson.annotation.JsonFormat.Shape shape) Methods inherited from class com.fasterxml.jackson.datatype.jsr310.ser.JSR310SerializerBase
serializationShape, 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, serialize, visitArrayFormat, visitArrayFormat, visitFloatFormat, visitIntFormat, visitIntFormat, visitStringFormat, visitStringFormat, wrapAndThrow, wrapAndThrow
Methods inherited from class com.fasterxml.jackson.databind.JsonSerializer
getDelegatee, isEmpty, isEmpty, isUnwrappingSerializer, properties, replaceDelegatee, unwrappingSerializer, usesObjectId, withFilterId, withIgnoredProperties
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
_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#_useTimestamp
is true. -
_shape
protected final com.fasterxml.jackson.annotation.JsonFormat.Shape _shape -
_integerListType
protected transient volatile com.fasterxml.jackson.databind.JavaType _integerListTypeLazily constructedJavaType
representing typeList<Integer>
.- Since:
- 2.10
-
-
Constructor Details
-
JSR310FormattedSerializerBase
-
JSR310FormattedSerializerBase
-
JSR310FormattedSerializerBase
protected JSR310FormattedSerializerBase(JSR310FormattedSerializerBase<?> base, Boolean useTimestamp, DateTimeFormatter dtf, com.fasterxml.jackson.annotation.JsonFormat.Shape shape) -
JSR310FormattedSerializerBase
protected JSR310FormattedSerializerBase(JSR310FormattedSerializerBase<?> base, Boolean useTimestamp, Boolean useNanoseconds, DateTimeFormatter dtf, com.fasterxml.jackson.annotation.JsonFormat.Shape shape)
-
-
Method Details
-
withFormat
protected abstract JSR310FormattedSerializerBase<?> withFormat(Boolean useTimestamp, DateTimeFormatter dtf, com.fasterxml.jackson.annotation.JsonFormat.Shape shape) -
withFeatures
Deprecated.- Since:
- 2.8
-
withFeatures
protected JSR310FormattedSerializerBase<?> withFeatures(Boolean writeZoneId, Boolean writeNanoseconds) - Since:
- 2.9.5
-
createContextual
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 - Specified by:
createContextual
in interfacecom.fasterxml.jackson.databind.ser.ContextualSerializer
- Throws:
com.fasterxml.jackson.databind.JsonMappingException
-
getSchema
public com.fasterxml.jackson.databind.JsonNode getSchema(com.fasterxml.jackson.databind.SerializerProvider provider, Type typeHint) - Specified by:
getSchema
in interfacecom.fasterxml.jackson.databind.jsonschema.SchemaAware
- Overrides:
getSchema
in classcom.fasterxml.jackson.databind.ser.std.StdSerializer<T>
-
acceptJsonFormatVisitor
public void acceptJsonFormatVisitor(com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitorWrapper visitor, com.fasterxml.jackson.databind.JavaType typeHint) throws com.fasterxml.jackson.databind.JsonMappingException - Specified by:
acceptJsonFormatVisitor
in interfacecom.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitable
- Overrides:
acceptJsonFormatVisitor
in classcom.fasterxml.jackson.databind.ser.std.StdSerializer<T>
- Throws:
com.fasterxml.jackson.databind.JsonMappingException
-
_acceptTimestampVisitor
protected void _acceptTimestampVisitor(com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitorWrapper visitor, com.fasterxml.jackson.databind.JavaType typeHint) throws com.fasterxml.jackson.databind.JsonMappingException - Throws:
com.fasterxml.jackson.databind.JsonMappingException
-
_integerListType
protected com.fasterxml.jackson.databind.JavaType _integerListType(com.fasterxml.jackson.databind.SerializerProvider prov) -
getTimestampsFeature
protected com.fasterxml.jackson.databind.SerializationFeature getTimestampsFeature()Overridable method that determinesSerializationFeature
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.
- Since:
- 2.10
-
useTimestamp
protected boolean useTimestamp(com.fasterxml.jackson.databind.SerializerProvider provider) -
_useTimestampExplicitOnly
protected boolean _useTimestampExplicitOnly(com.fasterxml.jackson.databind.SerializerProvider provider) -
useNanoseconds
protected boolean useNanoseconds(com.fasterxml.jackson.databind.SerializerProvider provider) -
_useDateTimeFormatter
protected DateTimeFormatter _useDateTimeFormatter(com.fasterxml.jackson.databind.SerializerProvider prov, com.fasterxml.jackson.annotation.JsonFormat.Value format)
-