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 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 com.fasterxml.jackson.databind.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.private static final longFields inherited from class com.fasterxml.jackson.databind.ser.std.StdSerializer
_handledType -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedJSR310FormattedSerializerBase(JSR310FormattedSerializerBase<?> base, Boolean useTimestamp, Boolean useNanoseconds, DateTimeFormatter dtf, com.fasterxml.jackson.annotation.JsonFormat.Shape shape) protectedJSR310FormattedSerializerBase(JSR310FormattedSerializerBase<?> base, Boolean useTimestamp, DateTimeFormatter dtf, com.fasterxml.jackson.annotation.JsonFormat.Shape shape) protectedJSR310FormattedSerializerBase(Class<T> supportedType) protectedJSR310FormattedSerializerBase(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) voidacceptJsonFormatVisitor(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.JsonNodeprotected com.fasterxml.jackson.databind.SerializationFeatureOverridable method that determinesSerializationFeaturethat is used as the global default in determining if date/time value serialized should use numeric format ("timestamp") or not.protected booleanuseNanoseconds(com.fasterxml.jackson.databind.SerializerProvider provider) protected booleanuseTimestamp(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, serializeWithTypeMethods 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, wrapAndThrowMethods 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#_useTimestampis true. -
_shape
protected final com.fasterxml.jackson.annotation.JsonFormat.Shape _shape -
_integerListType
protected transient volatile com.fasterxml.jackson.databind.JavaType _integerListTypeLazily constructedJavaTyperepresenting 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:
createContextualin 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:
getSchemain interfacecom.fasterxml.jackson.databind.jsonschema.SchemaAware- Overrides:
getSchemain 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:
acceptJsonFormatVisitorin interfacecom.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitable- Overrides:
acceptJsonFormatVisitorin 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 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.
- 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)
-