Class AbstractJacksonCalendarDeserializer<T>
java.lang.Object
com.fasterxml.jackson.databind.JsonDeserializer<T>
com.fasterxml.jackson.databind.deser.std.StdDeserializer<T>
com.sap.cloud.sdk.s4hana.datamodel.odata.adapter.AbstractJacksonCalendarDeserializer<T>
- Type Parameters:
T
- The type this deserializer should read.
- All Implemented Interfaces:
com.fasterxml.jackson.databind.deser.NullValueProvider
,com.fasterxml.jackson.databind.deser.ValueInstantiator.Gettable
,Serializable
- Direct Known Subclasses:
JacksonLocalDateTimeDeserializer
,JacksonLocalTimeDeserializer
,JacksonZonedDateTimeDeserializer
public abstract class AbstractJacksonCalendarDeserializer<T>
extends com.fasterxml.jackson.databind.deser.std.StdDeserializer<T>
Abstract base class to be used to easily read fields which can be read as a
Calendar
object as a Jackson
StdDeserializer
.
This may be used to specify a deserializer for the new Java date API (e.g. LocalDateTime
) based on
a common conversion logic. This way the logic is split the following way:
General Conversion logic | AbstractTypeConverter subclasses (*CalendarConverter) |
Gson Adapter | AbstractCalendarAdapter subclasses |
Jackson (De)Serializer | AbstractJacksonCalendar(De)Serializer and subclasses |
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class com.fasterxml.jackson.databind.JsonDeserializer
com.fasterxml.jackson.databind.JsonDeserializer.None
-
Field Summary
Fields inherited from class com.fasterxml.jackson.databind.deser.std.StdDeserializer
_valueClass, _valueType, F_MASK_ACCEPT_ARRAYS, F_MASK_INT_COERCIONS
-
Constructor Summary
ModifierConstructorDescriptionprotected
Constructor needed by the super class. -
Method Summary
Modifier and TypeMethodDescriptiondeserialize
(com.fasterxml.jackson.core.JsonParser jsonParser, com.fasterxml.jackson.databind.DeserializationContext deserializationContext) protected abstract AbstractTypeConverter<T,
Calendar> Getter for an instance of the common conversion logic from and toCalendar
.protected abstract AbstractTypeConverter<String,
Calendar> Getter for the conversion of a String into a Calendar object.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, deserializeWithType, 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
deserialize, deserializeWithType, findBackReference, getAbsentValue, getDelegatee, getEmptyAccessPattern, getEmptyValue, getEmptyValue, getKnownPropertyNames, getNullAccessPattern, getNullValue, getNullValue, getObjectIdReader, isCachable, logicalType, replaceDelegatee, supportsUpdate, unwrappingDeserializer
-
Constructor Details
-
AbstractJacksonCalendarDeserializer
Constructor needed by the super class.- Parameters:
vc
- The class to be read by this deserializer.
-
-
Method Details
-
getCalendarConverterInstance
Getter for an instance of the common conversion logic from and toCalendar
.- Returns:
- The conversion logic for this deserializer.
-
getStringCalendarConverterInstance
@Nonnull protected abstract AbstractTypeConverter<String,Calendar> getStringCalendarConverterInstance()Getter for the conversion of a String into a Calendar object. The selection of implementation depends on what kind of date object the string value should represent.- Returns:
AbstractTypeConverter
instance that converts a String into a Calendar.
-
deserialize
@Nullable public T deserialize(@Nonnull com.fasterxml.jackson.core.JsonParser jsonParser, @Nonnull com.fasterxml.jackson.databind.DeserializationContext deserializationContext) throws IOException - Specified by:
deserialize
in classcom.fasterxml.jackson.databind.JsonDeserializer<T>
- Throws:
IOException
-