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

    Constructors
    Modifier
    Constructor
    Description
    protected
    Constructor needed by the super class.
  • Method Summary

    Modifier and Type
    Method
    Description
    deserialize(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 to 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

    Methods inherited from class java.lang.Object

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

    • AbstractJacksonCalendarDeserializer

      protected AbstractJacksonCalendarDeserializer(Class<?> vc)
      Constructor needed by the super class.
      Parameters:
      vc - The class to be read by this deserializer.
  • Method Details

    • getCalendarConverterInstance

      @Nonnull protected abstract AbstractTypeConverter<T,Calendar> getCalendarConverterInstance()
      Getter for an instance of the common conversion logic from and to Calendar.
      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 class com.fasterxml.jackson.databind.JsonDeserializer<T>
      Throws:
      IOException