Top Description Fields Constructors Methods
tools.jackson.databind.ext.javatime.ser

public Class MonthDaySerializer

extends JSR310FormattedSerializerBase<MonthDay>
Class Inheritance
Imports
java.time.MonthDay, java.time.format.DateTimeFormatter, com.fasterxml.jackson.annotation.JsonFormat, tools.jackson.core.JacksonException, .JsonGenerator, .JsonToken, tools.jackson.core.type.WritableTypeId, tools.jackson.databind.SerializationContext, tools.jackson.databind.jsontype.TypeSerializer

Serializer for Java 8 temporal MonthDays.

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

Field Summary

Modifier and TypeField and Description
public static final MonthDaySerializer
Inherited from tools.jackson.databind.ext.javatime.ser.JSR310FormattedSerializerBase:
_formatter_integerListType_shape_useNanoseconds_useTimestamp

Constructor Summary

AccessConstructor and Description
protected
public
private

Method Summary

Modifier and TypeMethod and Description
protected void
protected JsonToken
serializationShape(SerializationContext ctxt)

Implements abstract tools.jackson.databind.ext.javatime.ser.JSR310SerializerBase.serializationShape.

Overridable helper method used from serializeWithType, to indicate shape of value during serialization; needed to know how type id is to be serialized.

public void
serialize(MonthDay value, JsonGenerator g, SerializationContext ctxt)

Implements abstract tools.jackson.databind.ser.std.StdSerializer.serialize.

Method that can be called to ask implementation to serialize values of type this serializer handles.

public void
serializeWithType(MonthDay value, JsonGenerator g, SerializationContext ctxt, TypeSerializer typeSer)

Overrides tools.jackson.databind.ext.javatime.ser.JSR310SerializerBase.serializeWithType.

Method that can be called to ask implementation to serialize values of type this serializer handles, using specified type serializer for embedding necessary type information.

protected MonthDaySerializer
Inherited from tools.jackson.databind.ext.javatime.ser.JSR310FormattedSerializerBase:
_acceptTimestampVisitor_integerListType_useDateTimeFormatter_useTimestampExplicitOnlyacceptJsonFormatVisitorcreateContextualgetTimestampsFeatureuseNanosecondsuseTimestampuseTimestampFromGlobalDefaultswithFeatures

Field Detail

INSTANCEback to summary
public static final MonthDaySerializer INSTANCE

Constructor Detail

MonthDaySerializerback to summary
protected MonthDaySerializer()
MonthDaySerializerback to summary
public MonthDaySerializer(DateTimeFormatter formatter)
MonthDaySerializerback to summary
private MonthDaySerializer(MonthDaySerializer base, DateTimeFormatter dtf, Boolean useTimestamp)

Method Detail

_serializeAsArrayContentsback to summary
protected void _serializeAsArrayContents(MonthDay value, JsonGenerator g, SerializationContext ctxt) throws JacksonException
serializationShapeback to summary
protected JsonToken serializationShape(SerializationContext ctxt)

Implements abstract tools.jackson.databind.ext.javatime.ser.JSR310SerializerBase.serializationShape.

Doc from tools.jackson.databind.ext.javatime.ser.JSR310SerializerBase.serializationShape.

Overridable helper method used from serializeWithType, to indicate shape of value during serialization; needed to know how type id is to be serialized.

Annotations
@Override
serializeback to summary
public void serialize(MonthDay value, JsonGenerator g, SerializationContext ctxt) throws JacksonException

Implements abstract tools.jackson.databind.ser.std.StdSerializer.serialize.

Doc from tools.jackson.databind.ValueSerializer.serialize.

Method that can be called to ask implementation to serialize values of type this serializer handles.

Annotations
@Override
serializeWithTypeback to summary
public void serializeWithType(MonthDay value, JsonGenerator g, SerializationContext ctxt, TypeSerializer typeSer) throws JacksonException

Overrides tools.jackson.databind.ext.javatime.ser.JSR310SerializerBase.serializeWithType.

Doc from tools.jackson.databind.ValueSerializer.serializeWithType.

Method that can be called to ask implementation to serialize values of type this serializer handles, using specified type serializer for embedding necessary type information.

Default implementation will throw UnsupportedOperationException to indicate that proper type handling needs to be implemented.

For simple datatypes written as a single scalar value (JSON String, Number, Boolean), implementation would look like:

  // note: method to call depends on whether this type is serialized as JSON scalar, object or Array!
  typeSer.writeTypePrefixForScalar(value, gen);
  serialize(value, gen, provider);
  typeSer.writeTypeSuffixForScalar(value, gen);
and implementations for type serialized as JSON Arrays or Objects would differ slightly, as START-ARRAY/END-ARRAY and START-OBJECT/END-OBJECT pairs need to be properly handled with respect to serializing of contents.
Annotations
@Override
withFormatback to summary
protected MonthDaySerializer withFormat(DateTimeFormatter dtf, Boolean useTimestamp, JsonFormat.Shape shape)

Implements abstract tools.jackson.databind.ext.javatime.ser.JSR310FormattedSerializerBase.withFormat.

Annotations
@Override