Class InstantDeserializer<T extends Temporal>
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<T>
com.fasterxml.jackson.datatype.jsr310.deser.JSR310DateTimeDeserializerBase<T>
com.fasterxml.jackson.datatype.jsr310.deser.InstantDeserializer<T>
- All Implemented Interfaces:
com.fasterxml.jackson.databind.deser.ContextualDeserializer, com.fasterxml.jackson.databind.deser.NullValueProvider, com.fasterxml.jackson.databind.deser.ValueInstantiator.Gettable, Serializable
- Since:
- 2.2
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic classNested classes/interfaces inherited from class com.fasterxml.jackson.databind.JsonDeserializer
com.fasterxml.jackson.databind.JsonDeserializer.None -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final BooleanFlag forJsonFormat.Feature.ADJUST_DATES_TO_CONTEXT_TIME_ZONEprotected final booleanFlag set fromJavaTimeFeature.ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPSto determine whether stringified numbers are interpreted as timestamps (enabled) nor not (disabled) in addition to a custom pattern ({code DateTimeFormatter}).protected final booleanFlag set fromJavaTimeFeature.NORMALIZE_DESERIALIZED_ZONE_IDto determine whetherZoneIdis to be normalized during deserialization.protected final BooleanFlag forJsonFormat.Feature.READ_DATE_TIMESTAMPS_AS_NANOSECONDSprotected final BiFunction<T, ZoneId, T> private static final booleanprivate static final booleanprotected final Function<InstantDeserializer.FromIntegerArguments, T> protected final Function<InstantDeserializer.FromDecimalArguments, T> static final InstantDeserializer<Instant> protected static final PatternConstants used to check if ISO 8601 time string is colonless.static final InstantDeserializer<OffsetDateTime> protected final Function<TemporalAccessor, T> protected final booleanIn case of vanilla `Instant` we seem to need to translate "+0000 | +00:00 | +00" timezone designator into plain "Z" for some reason; see [jackson-modules-java8#18] for more infoprivate static final longstatic final InstantDeserializer<ZonedDateTime> Fields inherited from class JSR310DateTimeDeserializerBase
_formatter, _shapeFields inherited from class JSR310DeserializerBase
_isLenientFields inherited from class com.fasterxml.jackson.databind.deser.std.StdDeserializer
_valueClass, _valueType, F_MASK_ACCEPT_ARRAYS, F_MASK_INT_COERCIONS -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedInstantDeserializer(InstantDeserializer<T> base, com.fasterxml.jackson.core.util.JacksonFeatureSet<JavaTimeFeature> features) protectedInstantDeserializer(InstantDeserializer<T> base, Boolean adjustToContextTimezoneOverride) protectedInstantDeserializer(InstantDeserializer<T> base, Boolean leniency, DateTimeFormatter formatter, com.fasterxml.jackson.annotation.JsonFormat.Shape shape, Boolean adjustToContextTimezoneOverride, Boolean readTimestampsAsNanosOverride) protectedprotectedInstantDeserializer(InstantDeserializer<T> base, DateTimeFormatter f, Boolean leniency) protectedInstantDeserializer(Class<T> supportedType, DateTimeFormatter formatter, Function<TemporalAccessor, T> parsedToValue, Function<InstantDeserializer.FromIntegerArguments, T> fromMilliseconds, Function<InstantDeserializer.FromDecimalArguments, T> fromNanoseconds, BiFunction<T, ZoneId, T> adjust, boolean replaceZeroOffsetAsZ) Deprecated.protectedInstantDeserializer(Class<T> supportedType, DateTimeFormatter formatter, Function<TemporalAccessor, T> parsedToValue, Function<InstantDeserializer.FromIntegerArguments, T> fromMilliseconds, Function<InstantDeserializer.FromDecimalArguments, T> fromNanoseconds, BiFunction<T, ZoneId, T> adjust, boolean replaceZeroOffsetAsZ, boolean normalizeZoneId, boolean readNumericStringsAsTimestamp) -
Method Summary
Modifier and TypeMethodDescriptionprotected int_countPeriods(String str) protected T_fromDecimal(com.fasterxml.jackson.databind.DeserializationContext context, BigDecimal value) protected T_fromLong(com.fasterxml.jackson.databind.DeserializationContext context, long timestamp) protected T_fromString(com.fasterxml.jackson.core.JsonParser p, com.fasterxml.jackson.databind.DeserializationContext ctxt, String string0) protected JSR310DateTimeDeserializerBase<?> _withFormatOverrides(com.fasterxml.jackson.databind.DeserializationContext ctxt, com.fasterxml.jackson.databind.BeanProperty property, com.fasterxml.jackson.annotation.JsonFormat.Value formatOverrides) private Stringdeserialize(com.fasterxml.jackson.core.JsonParser parser, com.fasterxml.jackson.databind.DeserializationContext context) private ZoneIdgetZone(com.fasterxml.jackson.databind.DeserializationContext context) private static StringreplaceZeroOffsetAsZ(String text) private Stringprotected booleanshouldAdjustToContextTimezone(com.fasterxml.jackson.databind.DeserializationContext context) protected booleanshouldReadTimestampsAsNanoseconds(com.fasterxml.jackson.databind.DeserializationContext context) protected InstantDeserializer<T> withFeatures(com.fasterxml.jackson.core.util.JacksonFeatureSet<JavaTimeFeature> features) protected InstantDeserializer<T> withLeniency(Boolean leniency) Methods inherited from class JSR310DateTimeDeserializerBase
_throwNoNumericTimestampNeedTimeZone, createContextual, withShapeMethods inherited from class JSR310DeserializerBase
_failForNotLenient, _fromEmptyString, _handleDateTimeException, _handleUnexpectedToken, _handleUnexpectedToken, _isValidTimestampString, _peelDTE, _reportWrongToken, _reportWrongToken, deserializeWithType, isLenient, logicalTypeMethods inherited from class com.fasterxml.jackson.databind.deser.std.StdScalarDeserializer
deserialize, getEmptyAccessPattern, getNullAccessPattern, supportsUpdateMethods 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, isDefaultKeyDeserializerMethods inherited from class com.fasterxml.jackson.databind.JsonDeserializer
deserializeWithType, findBackReference, getAbsentValue, getDelegatee, getEmptyValue, getEmptyValue, getKnownPropertyNames, getNullValue, getNullValue, getObjectIdReader, isCachable, replaceDelegatee, unwrappingDeserializer
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
DEFAULT_NORMALIZE_ZONE_ID
private static final boolean DEFAULT_NORMALIZE_ZONE_ID -
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
private static final boolean DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS -
ISO8601_COLONLESS_OFFSET_REGEX
Constants used to check if ISO 8601 time string is colonless. See [jackson-modules-java8#131]- Since:
- 2.13
-
INSTANT
-
OFFSET_DATE_TIME
-
ZONED_DATE_TIME
-
fromMilliseconds
protected final Function<InstantDeserializer.FromIntegerArguments, T extends Temporal> fromMilliseconds -
fromNanoseconds
protected final Function<InstantDeserializer.FromDecimalArguments, T extends Temporal> fromNanoseconds -
parsedToValue
-
adjust
-
replaceZeroOffsetAsZ
protected final boolean replaceZeroOffsetAsZIn case of vanilla `Instant` we seem to need to translate "+0000 | +00:00 | +00" timezone designator into plain "Z" for some reason; see [jackson-modules-java8#18] for more info- Since:
- 2.9.0
-
_adjustToContextTZOverride
Flag forJsonFormat.Feature.ADJUST_DATES_TO_CONTEXT_TIME_ZONE- Since:
- 2.8
-
_readTimestampsAsNanosOverride
Flag forJsonFormat.Feature.READ_DATE_TIMESTAMPS_AS_NANOSECONDS- Since:
- 2.16
-
_normalizeZoneId
protected final boolean _normalizeZoneIdFlag set fromJavaTimeFeature.NORMALIZE_DESERIALIZED_ZONE_IDto determine whetherZoneIdis to be normalized during deserialization.- Since:
- 2.16
-
_alwaysAllowStringifiedDateTimestamps
protected final boolean _alwaysAllowStringifiedDateTimestampsFlag set fromJavaTimeFeature.ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPSto determine whether stringified numbers are interpreted as timestamps (enabled) nor not (disabled) in addition to a custom pattern ({code DateTimeFormatter}).NOTE: stringified timestamps are always allowed with default patterns; this flag only affects handling of custom patterns.
- Since:
- 2.16
-
-
Constructor Details
-
InstantDeserializer
protected InstantDeserializer(Class<T> supportedType, DateTimeFormatter formatter, Function<TemporalAccessor, T> parsedToValue, Function<InstantDeserializer.FromIntegerArguments, T> fromMilliseconds, Function<InstantDeserializer.FromDecimalArguments, T> fromNanoseconds, BiFunction<T, ZoneId, T> adjust, boolean replaceZeroOffsetAsZ, boolean normalizeZoneId, boolean readNumericStringsAsTimestamp) - Since:
- 2.16
-
InstantDeserializer
@Deprecated protected InstantDeserializer(Class<T> supportedType, DateTimeFormatter formatter, Function<TemporalAccessor, T> parsedToValue, Function<InstantDeserializer.FromIntegerArguments, T> fromMilliseconds, Function<InstantDeserializer.FromDecimalArguments, T> fromNanoseconds, BiFunction<T, ZoneId, T> adjust, boolean replaceZeroOffsetAsZ) Deprecated. -
InstantDeserializer
-
InstantDeserializer
-
InstantDeserializer
-
InstantDeserializer
protected InstantDeserializer(InstantDeserializer<T> base, Boolean leniency, DateTimeFormatter formatter, com.fasterxml.jackson.annotation.JsonFormat.Shape shape, Boolean adjustToContextTimezoneOverride, Boolean readTimestampsAsNanosOverride) - Since:
- 2.16
-
InstantDeserializer
protected InstantDeserializer(InstantDeserializer<T> base, com.fasterxml.jackson.core.util.JacksonFeatureSet<JavaTimeFeature> features) - Since:
- 2.16
-
-
Method Details
-
withDateFormat
- Specified by:
withDateFormatin classJSR310DateTimeDeserializerBase<T extends Temporal>
-
withLeniency
- Specified by:
withLeniencyin classJSR310DateTimeDeserializerBase<T extends Temporal>
-
withFeatures
public InstantDeserializer<T> withFeatures(com.fasterxml.jackson.core.util.JacksonFeatureSet<JavaTimeFeature> features) -
_withFormatOverrides
protected JSR310DateTimeDeserializerBase<?> _withFormatOverrides(com.fasterxml.jackson.databind.DeserializationContext ctxt, com.fasterxml.jackson.databind.BeanProperty property, com.fasterxml.jackson.annotation.JsonFormat.Value formatOverrides) - Overrides:
_withFormatOverridesin classJSR310DateTimeDeserializerBase<T extends Temporal>- Parameters:
ctxt- Active deserialization contextproperty- (optional) Property on which this deserializer is used, ornullfor root valueformatOverrides- Format overrides to use (non-null)- Returns:
- Either this deserializer as is, or newly constructed variant if created for different configuration
-
deserialize
public T deserialize(com.fasterxml.jackson.core.JsonParser parser, com.fasterxml.jackson.databind.DeserializationContext context) throws IOException - Specified by:
deserializein classcom.fasterxml.jackson.databind.JsonDeserializer<T extends Temporal>- Throws:
IOException
-
shouldAdjustToContextTimezone
protected boolean shouldAdjustToContextTimezone(com.fasterxml.jackson.databind.DeserializationContext context) -
shouldReadTimestampsAsNanoseconds
protected boolean shouldReadTimestampsAsNanoseconds(com.fasterxml.jackson.databind.DeserializationContext context) -
_countPeriods
-
_fromString
protected T _fromString(com.fasterxml.jackson.core.JsonParser p, com.fasterxml.jackson.databind.DeserializationContext ctxt, String string0) throws IOException - Throws:
IOException
-
_fromLong
protected T _fromLong(com.fasterxml.jackson.databind.DeserializationContext context, long timestamp) -
_fromDecimal
protected T _fromDecimal(com.fasterxml.jackson.databind.DeserializationContext context, BigDecimal value) -
getZone
-
replaceZeroOffsetAsZIfNecessary
-
replaceZeroOffsetAsZ
-
addInColonToOffsetIfMissing
-
InstantDeserializer(Class,DateTimeFormatter, Function,Function,Function,BiFunction,boolean,boolean,boolean)instead.