Class AbstractCustomJacksonDeserializer<T>

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

    public abstract class AbstractCustomJacksonDeserializer<T>
    extends com.fasterxml.jackson.databind.deser.std.StdDeserializer<T>
    Jackson Deserializer for lists and Custom Scalars.
    Author:
    etienne-sf
    See Also:
    Serialized Form
    • 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
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      T deserialize​(com.fasterxml.jackson.core.JsonParser p, com.fasterxml.jackson.databind.DeserializationContext ctxt)  
      • Methods inherited from class com.fasterxml.jackson.databind.deser.std.StdDeserializer

        _byteOverflow, _checkCoercionFail, _checkDoubleSpecialValue, _checkFloatSpecialValue, _checkFloatToIntCoercion, _checkFromStringCoercion, _checkFromStringCoercion, _checkTextualNull, _coerceBooleanFromInt, _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, _parseDoublePrimitive, _parseDoublePrimitive, _parseFloatPrimitive, _parseFloatPrimitive, _parseInteger, _parseInteger, _parseIntPrimitive, _parseIntPrimitive, _parseLong, _parseLong, _parseLongPrimitive, _parseLongPrimitive, _parseShortPrimitive, _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 Detail

      • AbstractCustomJacksonDeserializer

        protected AbstractCustomJacksonDeserializer​(java.lang.Class<?> handledType,
                                                    graphql.schema.GraphQLScalarType graphQLScalarType)
        The constructor, for non list field. This constructor builds a custom jackson deserialize, for field that can't be deserialize by jackson alone. Typically: GraphQL custom scalars.
        Parameters:
        handledType - The java type that contains the value of the final items, in the list. For instance for a GraphQL type [[Boolean]], the handle type is Boolean. It is sent to the jackson StdDeserializer. It is also used when the recursion of the nested list is at the deepest level, and the read token is the "real" value.
        graphQLScalarType - The GraphQLScalarType instance that manages this Custom Scalar. It's used to deserialize the value read on the Jackson response from the server It is mandatory for custom scalars, and must null for other data types.
      • AbstractCustomJacksonDeserializer

        protected AbstractCustomJacksonDeserializer​(AbstractCustomJacksonDeserializer<?> itemDeserializer,
                                                    boolean list,
                                                    java.lang.Class<?> handledType,
                                                    graphql.schema.GraphQLScalarType graphQLScalarType)
        Parameters:
        itemDeserializer - The class that can deserialize the items in the list. This recursion allows to deserialize list of lists.
        This field must be null to deserialize non list objects. And it's mandatory, to deserialize lists.
        handledType - The java type that contains the value of the final items, in the list. For instance for a GraphQL type [[Boolean]], the handle type is Boolean. It is sent to the jackson StdDeserializer. It is also used when the recursion of the nested list is at the deepest level, and the read token is the "real" value.
        graphQLScalarType - The GraphQLScalarType instance that manages this Custom Scalar. It's used to deserialize the value read on the Jackson response from the server It is mandatory for custom scalars, and must null for other data types.
    • Method Detail

      • deserialize

        public T deserialize​(com.fasterxml.jackson.core.JsonParser p,
                             com.fasterxml.jackson.databind.DeserializationContext ctxt)
                      throws java.io.IOException,
                             com.fasterxml.jackson.core.JsonProcessingException
        Specified by:
        deserialize in class com.fasterxml.jackson.databind.JsonDeserializer<T>
        Throws:
        java.io.IOException
        com.fasterxml.jackson.core.JsonProcessingException