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

public Class YearMonthSerializer

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

Serializer for Java 8 temporal YearMonths.
Author
Nick Williams
Since
2.2

Field Summary

Modifier and TypeField and Description
public static final YearMonthSerializer
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 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(YearMonth 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(YearMonth 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 YearMonthSerializer
Inherited from tools.jackson.databind.ext.javatime.ser.JSR310FormattedSerializerBase:
_integerListType_useDateTimeFormatter_useTimestampExplicitOnlyacceptJsonFormatVisitorcreateContextualgetTimestampsFeatureuseNanosecondsuseTimestampuseTimestampFromGlobalDefaultswithFeatures

Field Detail

INSTANCEback to summary
public static final YearMonthSerializer INSTANCE

Constructor Detail

YearMonthSerializerback to summary
protected YearMonthSerializer()
YearMonthSerializerback to summary
public YearMonthSerializer(DateTimeFormatter formatter)
YearMonthSerializerback to summary
private YearMonthSerializer(YearMonthSerializer base, DateTimeFormatter dtf, Boolean useTimestamp)

Method Detail

_acceptTimestampVisitorback to summary
protected void _acceptTimestampVisitor(JsonFormatVisitorWrapper visitor, JavaType typeHint)

Overrides tools.jackson.databind.ext.javatime.ser.JSR310FormattedSerializerBase._acceptTimestampVisitor.

Annotations
@Override
_serializeAsArrayContentsback to summary
protected void _serializeAsArrayContents(YearMonth 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(YearMonth 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(YearMonth 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 YearMonthSerializer withFormat(DateTimeFormatter dtf, Boolean useTimestamp, JsonFormat.Shape shape)

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

Annotations
@Override