Class DurationDeserializer
- java.lang.Object
-
- com.fasterxml.jackson.databind.JsonDeserializer<T>
-
- com.fasterxml.jackson.databind.deser.std.StdDeserializer<T>
-
- com.fasterxml.jackson.databind.deser.std.StdScalarDeserializer<T>
-
- com.fasterxml.jackson.datatype.jsr310.deser.JSR310DeserializerBase<java.time.Duration>
-
- com.fasterxml.jackson.datatype.jsr310.deser.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 temporalDuration
s.- Since:
- 2.2
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected DurationUnitConverter
_durationUnitConverter
When defined (notnull
) integer values will be converted into duration unit configured for the converter.protected java.lang.Boolean
_readTimestampsAsNanosOverride
Flag forJsonFormat.Feature.READ_DATE_TIMESTAMPS_AS_NANOSECONDS
static DurationDeserializer
INSTANCE
private static long
serialVersionUID
-
Fields inherited from class com.fasterxml.jackson.datatype.jsr310.deser.JSR310DeserializerBase
_isLenient
-
-
Constructor Summary
Constructors Modifier Constructor Description DurationDeserializer()
protected
DurationDeserializer(DurationDeserializer base, DurationUnitConverter converter)
protected
DurationDeserializer(DurationDeserializer base, java.lang.Boolean leniency)
protected
DurationDeserializer(DurationDeserializer base, java.lang.Boolean leniency, DurationUnitConverter converter, java.lang.Boolean readTimestampsAsNanosOverride)
-
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.datatype.jsr310.deser.JSR310DeserializerBase
_failForNotLenient, _fromEmptyString, _handleDateTimeException, _handleUnexpectedToken, _handleUnexpectedToken, _isValidTimestampString, _peelDTE, _reportWrongToken, _reportWrongToken, deserializeWithType, isLenient, logicalType
-
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
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
INSTANCE
public static final DurationDeserializer INSTANCE
-
_durationUnitConverter
protected final DurationUnitConverter _durationUnitConverter
When defined (notnull
) integer values will be converted into duration unit configured for the converter. Using this converter will typically override the value specified inDeserializationFeature.READ_DATE_TIMESTAMPS_AS_NANOSECONDS
as it is considered that the unit set inJsonFormat.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 forJsonFormat.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, DurationUnitConverter converter)
- Since:
- 2.12
-
DurationDeserializer
protected DurationDeserializer(DurationDeserializer base, java.lang.Boolean leniency, DurationUnitConverter converter, java.lang.Boolean readTimestampsAsNanosOverride)
- Since:
- 2.16
-
-
Method Detail
-
withLeniency
protected DurationDeserializer withLeniency(java.lang.Boolean leniency)
- Specified by:
withLeniency
in classJSR310DeserializerBase<java.time.Duration>
-
withConverter
protected DurationDeserializer withConverter(DurationUnitConverter converter)
-
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 interfacecom.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 classcom.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)
-
-