Class DurationDeserializer

  • All Implemented Interfaces:
    com.fasterxml.jackson.databind.deser.ContextualDeserializer, com.fasterxml.jackson.databind.deser.NullValueProvider, com.fasterxml.jackson.databind.deser.ValueInstantiator.Gettable, java.io.Serializable

    public class DurationDeserializer
    extends JSR310DeserializerBase<java.time.Duration>
    implements com.fasterxml.jackson.databind.deser.ContextualDeserializer
    Deserializer for Java 8 temporal Durations.
    Since:
    2.2
    See Also:
    Serialized Form
    • Nested Class Summary

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

        com.fasterxml.jackson.databind.JsonDeserializer.None
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected java.time.Duration _fromString​(com.fasterxml.jackson.core.JsonParser parser, com.fasterxml.jackson.databind.DeserializationContext ctxt, java.lang.String value0)  
      protected java.time.Duration _fromTimestamp​(com.fasterxml.jackson.databind.DeserializationContext ctxt, long ts)  
      com.fasterxml.jackson.databind.JsonDeserializer<?> createContextual​(com.fasterxml.jackson.databind.DeserializationContext ctxt, com.fasterxml.jackson.databind.BeanProperty property)  
      java.time.Duration deserialize​(com.fasterxml.jackson.core.JsonParser parser, com.fasterxml.jackson.databind.DeserializationContext context)  
      protected boolean shouldReadTimestampsAsNanoseconds​(com.fasterxml.jackson.databind.DeserializationContext context)  
      protected DurationDeserializer withConverter​(DurationUnitConverter converter)  
      protected DurationDeserializer withLeniency​(java.lang.Boolean leniency)  
      • Methods inherited from class com.fasterxml.jackson.databind.deser.std.StdScalarDeserializer

        deserialize, getEmptyAccessPattern, getNullAccessPattern, supportsUpdate
      • Methods inherited from class com.fasterxml.jackson.databind.deser.std.StdDeserializer

        _byteOverflow, _checkBooleanToStringCoercion, _checkCoercionFail, _checkDoubleSpecialValue, _checkFloatSpecialValue, _checkFloatToIntCoercion, _checkFloatToStringCoercion, _checkFromStringCoercion, _checkFromStringCoercion, _checkIntToFloatCoercion, _checkIntToStringCoercion, _checkTextualNull, _checkToStringCoercion, _coerceBooleanFromInt, _coercedTypeDesc, _coercedTypeDesc, _coerceEmptyString, _coerceIntegral, _coerceNullToken, _coerceTextualNull, _deserializeFromArray, _deserializeFromEmpty, _deserializeFromEmptyString, _deserializeFromString, _deserializeWrappedValue, _failDoubleToIntCoercion, _findCoercionFromBlankString, _findCoercionFromEmptyArray, _findCoercionFromEmptyString, _findNullProvider, _hasTextualNull, _intOverflow, _isBlank, _isEmptyOrTextualNull, _isFalse, _isIntNumber, _isNaN, _isNegInf, _isPosInf, _isTrue, _neitherNull, _nonNullNumber, _parseBoolean, _parseBooleanFromInt, _parseBooleanPrimitive, _parseBooleanPrimitive, _parseBytePrimitive, _parseDate, _parseDate, _parseDateFromArray, _parseDouble, _parseDouble, _parseDoublePrimitive, _parseDoublePrimitive, _parseDoublePrimitive, _parseFloatPrimitive, _parseFloatPrimitive, _parseFloatPrimitive, _parseInteger, _parseInteger, _parseIntPrimitive, _parseIntPrimitive, _parseLong, _parseLong, _parseLongPrimitive, _parseLongPrimitive, _parseShortPrimitive, _parseString, _parseString, _reportFailedNullCoerce, _shortOverflow, _verifyEndArrayForSingle, _verifyNullForPrimitive, _verifyNullForPrimitiveCoercion, _verifyNullForScalarCoercion, _verifyNumberForScalarCoercion, _verifyStringForScalarCoercion, findContentNullProvider, findContentNullStyle, findConvertingContentDeserializer, findDeserializer, findFormatFeature, findFormatOverrides, findValueNullProvider, getValueClass, getValueInstantiator, getValueType, getValueType, handledType, handleMissingEndArrayForSingle, handleNestedArrayForSingle, handleUnknownProperty, isDefaultDeserializer, isDefaultKeyDeserializer
      • Methods inherited from class com.fasterxml.jackson.databind.JsonDeserializer

        deserializeWithType, findBackReference, getAbsentValue, getDelegatee, getEmptyValue, getEmptyValue, getKnownPropertyNames, getNullValue, getNullValue, getObjectIdReader, isCachable, replaceDelegatee, unwrappingDeserializer
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • _durationUnitConverter

        protected final DurationUnitConverter _durationUnitConverter
        When defined (not null) integer values will be converted into duration unit configured for the converter. Using this converter will typically override the value specified in DeserializationFeature.READ_DATE_TIMESTAMPS_AS_NANOSECONDS as it is considered that the unit set in JsonFormat.pattern() has precedence since it is more specific.

        See [jackson-modules-java8#184] for more info.

        Since:
        2.12
      • _readTimestampsAsNanosOverride

        protected final java.lang.Boolean _readTimestampsAsNanosOverride
        Flag for JsonFormat.Feature.READ_DATE_TIMESTAMPS_AS_NANOSECONDS
        Since:
        2.16
    • Constructor Detail

      • DurationDeserializer

        public DurationDeserializer()
      • DurationDeserializer

        protected DurationDeserializer​(DurationDeserializer base,
                                       java.lang.Boolean leniency)
        Since:
        2.11
      • DurationDeserializer

        protected DurationDeserializer​(DurationDeserializer base,
                                       java.lang.Boolean leniency,
                                       DurationUnitConverter converter,
                                       java.lang.Boolean readTimestampsAsNanosOverride)
        Since:
        2.16
    • Method Detail

      • createContextual

        public com.fasterxml.jackson.databind.JsonDeserializer<?> createContextual​(com.fasterxml.jackson.databind.DeserializationContext ctxt,
                                                                                   com.fasterxml.jackson.databind.BeanProperty property)
                                                                            throws com.fasterxml.jackson.databind.JsonMappingException
        Specified by:
        createContextual in interface com.fasterxml.jackson.databind.deser.ContextualDeserializer
        Throws:
        com.fasterxml.jackson.databind.JsonMappingException
      • deserialize

        public java.time.Duration deserialize​(com.fasterxml.jackson.core.JsonParser parser,
                                              com.fasterxml.jackson.databind.DeserializationContext context)
                                       throws java.io.IOException
        Specified by:
        deserialize in class com.fasterxml.jackson.databind.JsonDeserializer<java.time.Duration>
        Throws:
        java.io.IOException
      • _fromString

        protected java.time.Duration _fromString​(com.fasterxml.jackson.core.JsonParser parser,
                                                 com.fasterxml.jackson.databind.DeserializationContext ctxt,
                                                 java.lang.String value0)
                                          throws java.io.IOException
        Throws:
        java.io.IOException
      • _fromTimestamp

        protected java.time.Duration _fromTimestamp​(com.fasterxml.jackson.databind.DeserializationContext ctxt,
                                                    long ts)
      • shouldReadTimestampsAsNanoseconds

        protected boolean shouldReadTimestampsAsNanoseconds​(com.fasterxml.jackson.databind.DeserializationContext context)