Class JodaDurationCompatSerializer

java.lang.Object
com.fasterxml.jackson.databind.JsonSerializer<T>
com.fasterxml.jackson.databind.ser.std.StdSerializer<T>
com.fasterxml.jackson.datatype.joda.ser.JodaDateSerializerBase<org.joda.time.Duration>
com.fasterxml.jackson.datatype.joda.ser.DurationSerializer
org.graylog2.jackson.JodaDurationCompatSerializer
All Implemented Interfaces:
com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitable, com.fasterxml.jackson.databind.jsonschema.SchemaAware, com.fasterxml.jackson.databind.ser.ContextualSerializer, Serializable

public class JodaDurationCompatSerializer extends com.fasterxml.jackson.datatype.joda.ser.DurationSerializer
A Joda DurationSerializer that ignores the com.fasterxml.jackson.databind.SerializationFeature.WRITE_DURATIONS_AS_TIMESTAMPS setting and always serializes Durations to milliseconds. This became necessary with the Jackson 2.13 update, which forced us to disable WRITE_DURATIONS_AS_TIMESTAMPS to have Duration objects serialized as strings.
See Also:
  • Nested Class Summary

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

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

    Fields inherited from class com.fasterxml.jackson.datatype.joda.ser.JodaDateSerializerBase

    _defaultNumericShape, _featureForNumeric, _format, _shapeOverride, FORMAT_ARRAY, FORMAT_STRING, FORMAT_TIMESTAMP

    Fields inherited from class com.fasterxml.jackson.databind.ser.std.StdSerializer

    _handledType
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    serialize(org.joda.time.Duration value, com.fasterxml.jackson.core.JsonGenerator gen, com.fasterxml.jackson.databind.SerializerProvider provider)
     
    void
    serializeWithType(org.joda.time.Duration arg0, com.fasterxml.jackson.core.JsonGenerator arg1, com.fasterxml.jackson.databind.SerializerProvider arg2, com.fasterxml.jackson.databind.jsontype.TypeSerializer arg3)
     

    Methods inherited from class com.fasterxml.jackson.datatype.joda.ser.DurationSerializer

    isEmpty, withFormat

    Methods inherited from class com.fasterxml.jackson.datatype.joda.ser.JodaDateSerializerBase

    _serializationShape, acceptJsonFormatVisitor, createContextual, getSchema, writeWithZoneId

    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, isUnwrappingSerializer, properties, replaceDelegatee, unwrappingSerializer, usesObjectId, withFilterId

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • JodaDurationCompatSerializer

      public JodaDurationCompatSerializer()
  • Method Details

    • serialize

      public void serialize(org.joda.time.Duration value, com.fasterxml.jackson.core.JsonGenerator gen, com.fasterxml.jackson.databind.SerializerProvider provider) throws IOException
      Overrides:
      serialize in class com.fasterxml.jackson.datatype.joda.ser.DurationSerializer
      Throws:
      IOException
    • serializeWithType

      public void serializeWithType(org.joda.time.Duration arg0, com.fasterxml.jackson.core.JsonGenerator arg1, com.fasterxml.jackson.databind.SerializerProvider arg2, com.fasterxml.jackson.databind.jsontype.TypeSerializer arg3) throws IOException
      Overrides:
      serializeWithType in class com.fasterxml.jackson.databind.JsonSerializer<T extends Object>
      Throws:
      IOException