Class MonthDaySerializer
java.lang.Object
com.fasterxml.jackson.databind.JsonSerializer<T>
com.fasterxml.jackson.databind.ser.std.StdSerializer<T>
com.fasterxml.jackson.datatype.jsr310.ser.MonthDaySerializer
- All Implemented Interfaces:
com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitable
,com.fasterxml.jackson.databind.jsonschema.SchemaAware
,com.fasterxml.jackson.databind.ser.ContextualSerializer
,Serializable
public class MonthDaySerializer
extends com.fasterxml.jackson.databind.ser.std.StdSerializer<T>
Serializer for Java 8 temporal
MonthDay
s.
NOTE: unlike many other date/time type serializers, this serializer will only
use Array notation if explicitly instructed to do so with JsonFormat
(either directly or through per-type defaults) and NOT with global defaults.
- Since:
- 2.7.1
- See Also:
-
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.static final MonthDaySerializer
Fields inherited from class com.fasterxml.jackson.databind.ser.std.StdSerializer
_handledType
-
Constructor Summary
Constructors -
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 void
_serializeAsArrayContents
(MonthDay value, com.fasterxml.jackson.core.JsonGenerator g, com.fasterxml.jackson.databind.SerializerProvider provider) 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 com.fasterxml.jackson.core.JsonToken
serializationShape
(com.fasterxml.jackson.databind.SerializerProvider provider) Overridable helper method used fromJsonSerializer.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
(MonthDay value, com.fasterxml.jackson.core.JsonGenerator g, com.fasterxml.jackson.databind.SerializerProvider provider) void
serializeWithType
(MonthDay 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 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 MonthDaySerializer
withFormat
(Boolean useTimestamp, DateTimeFormatter formatter, com.fasterxml.jackson.annotation.JsonFormat.Shape shape) 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
Methods inherited from class com.fasterxml.jackson.databind.JsonSerializer
getDelegatee, isEmpty, isEmpty, isUnwrappingSerializer, properties, replaceDelegatee, unwrappingSerializer, usesObjectId, withFilterId
-
Field Details
-
INSTANCE
-
_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
-
MonthDaySerializer
protected MonthDaySerializer() -
MonthDaySerializer
-
-
Method Details
-
withFormat
protected MonthDaySerializer withFormat(Boolean useTimestamp, DateTimeFormatter formatter, com.fasterxml.jackson.annotation.JsonFormat.Shape shape) -
serialize
public void serialize(MonthDay value, com.fasterxml.jackson.core.JsonGenerator g, com.fasterxml.jackson.databind.SerializerProvider provider) throws IOException - Specified by:
serialize
in classcom.fasterxml.jackson.databind.ser.std.StdSerializer<MonthDay>
- Throws:
IOException
-
serializeWithType
public void serializeWithType(MonthDay value, com.fasterxml.jackson.core.JsonGenerator g, com.fasterxml.jackson.databind.SerializerProvider provider, com.fasterxml.jackson.databind.jsontype.TypeSerializer typeSer) throws IOException - Throws:
IOException
-
_serializeAsArrayContents
protected void _serializeAsArrayContents(MonthDay value, com.fasterxml.jackson.core.JsonGenerator g, com.fasterxml.jackson.databind.SerializerProvider provider) throws IOException - Throws:
IOException
-
serializationShape
protected com.fasterxml.jackson.core.JsonToken serializationShape(com.fasterxml.jackson.databind.SerializerProvider provider) Overridable helper method used fromJsonSerializer.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. -
withFeatures
@Deprecated protected com.fasterxml.jackson.datatype.jsr310.ser.JSR310FormattedSerializerBase<?> withFeatures(Boolean writeZoneId) Deprecated.- Since:
- 2.8
-
withFeatures
protected com.fasterxml.jackson.datatype.jsr310.ser.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)
-