Class 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 ThreeTen 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
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class com.fasterxml.jackson.databind.JsonSerializer

        com.fasterxml.jackson.databind.JsonSerializer.None
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected org.threeten.bp.format.DateTimeFormatter _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.
      protected com.fasterxml.jackson.databind.JavaType _integerListType
      Lazily constructed JavaType representing type List<Integer>.
      protected com.fasterxml.jackson.annotation.JsonFormat.Shape _shape  
      protected Boolean _useNanoseconds
      Flag that indicates that numeric timestamp values must be written using nanosecond timestamps if the datatype supports such resolution, regardless of other settings.
      protected Boolean _useTimestamp
      Flag that indicates that serialization must be done as the Java timestamp, regardless of other settings.
      static MonthDaySerializer INSTANCE  
      • Fields inherited from class com.fasterxml.jackson.databind.ser.std.StdSerializer

        _handledType
    • Method Summary

      All Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      protected 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​(org.threeten.bp.MonthDay value, com.fasterxml.jackson.core.JsonGenerator g, com.fasterxml.jackson.databind.SerializerProvider provider)  
      protected org.threeten.bp.format.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 getSchema​(com.fasterxml.jackson.databind.SerializerProvider provider, Type typeHint)  
      protected com.fasterxml.jackson.databind.SerializationFeature getTimestampsFeature()
      Overridable method that determines SerializationFeature 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 from JsonSerializer.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​(org.threeten.bp.MonthDay value, com.fasterxml.jackson.core.JsonGenerator g, com.fasterxml.jackson.databind.SerializerProvider provider)  
      void serializeWithType​(org.threeten.bp.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.threetenbp.ser.ThreeTenFormattedSerializerBase<?> withFeatures​(Boolean writeZoneId)
      Deprecated.
      protected com.fasterxml.jackson.datatype.threetenbp.ser.ThreeTenFormattedSerializerBase<?> withFeatures​(Boolean writeZoneId, Boolean writeNanoseconds)  
      protected MonthDaySerializer withFormat​(Boolean useTimestamp, org.threeten.bp.format.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 Detail

      • _useTimestamp

        protected final Boolean _useTimestamp
        Flag that indicates that serialization must be done as the Java timestamp, regardless of other settings.
      • _useNanoseconds

        protected final Boolean _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

        protected final org.threeten.bp.format.DateTimeFormatter _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 _integerListType
        Lazily constructed JavaType representing type List<Integer>.
        Since:
        2.10
    • Constructor Detail

      • MonthDaySerializer

        protected MonthDaySerializer()
      • MonthDaySerializer

        public MonthDaySerializer​(org.threeten.bp.format.DateTimeFormatter formatter)
    • Method Detail

      • withFormat

        protected MonthDaySerializer withFormat​(Boolean useTimestamp,
                                                org.threeten.bp.format.DateTimeFormatter formatter,
                                                com.fasterxml.jackson.annotation.JsonFormat.Shape shape)
      • serialize

        public void serialize​(org.threeten.bp.MonthDay value,
                              com.fasterxml.jackson.core.JsonGenerator g,
                              com.fasterxml.jackson.databind.SerializerProvider provider)
                       throws IOException
        Specified by:
        serialize in class com.fasterxml.jackson.databind.ser.std.StdSerializer<org.threeten.bp.MonthDay>
        Throws:
        IOException
      • serializeWithType

        public void serializeWithType​(org.threeten.bp.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​(org.threeten.bp.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 from JsonSerializer.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.threetenbp.ser.ThreeTenFormattedSerializerBase<?> withFeatures​(Boolean writeZoneId)
        Deprecated.
        Since:
        2.8
      • withFeatures

        protected com.fasterxml.jackson.datatype.threetenbp.ser.ThreeTenFormattedSerializerBase<?> 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 interface com.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 interface com.fasterxml.jackson.databind.jsonschema.SchemaAware
        Overrides:
        getSchema in class com.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 interface com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitable
        Overrides:
        acceptJsonFormatVisitor in class com.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 determines SerializationFeature 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 org.threeten.bp.format.DateTimeFormatter _useDateTimeFormatter​(com.fasterxml.jackson.databind.SerializerProvider prov,
                                                                                 com.fasterxml.jackson.annotation.JsonFormat.Value format)