Class TaskSearchRequestSingleItemAsListDeserializer

  • 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 TaskSearchRequestSingleItemAsListDeserializer
    extends SingleItemAsListDeserializer
    Custom deserializer for handling cases where single `TaskSearchRequest` items are sent as lists or standalone entities during JSON deserialization.

    This class extends the `SingleItemAsListDeserializer`, enabling support for deserialization scenarios where JSON may represent either a single item or a list of items. It ensures compatibility with `SingleTaskSearchRequestAsList` by sanitizing the `fullText` field in each `TaskSearchRequest` instance using the `ElasticsearchQuerySanitizer`.

    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
      com.fasterxml.jackson.databind.JsonDeserializer<?> createContextual​(com.fasterxml.jackson.databind.DeserializationContext deserializationContext, com.fasterxml.jackson.databind.BeanProperty beanProperty)  
      java.lang.Object deserialize​(com.fasterxml.jackson.core.JsonParser jsonParser, com.fasterxml.jackson.databind.DeserializationContext deserializationContext)
      Deserializes a JSON input into an object while handling cases where a single `TaskSearchRequest` or a list of `TaskSearchRequest` objects is included.
      • 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 Detail

      • TaskSearchRequestSingleItemAsListDeserializer

        protected TaskSearchRequestSingleItemAsListDeserializer()
      • TaskSearchRequestSingleItemAsListDeserializer

        protected TaskSearchRequestSingleItemAsListDeserializer​(java.lang.Class<? extends SingleItemAsList> vc)
    • Method Detail

      • createContextual

        public com.fasterxml.jackson.databind.JsonDeserializer<?> createContextual​(com.fasterxml.jackson.databind.DeserializationContext deserializationContext,
                                                                                   com.fasterxml.jackson.databind.BeanProperty beanProperty)
        Specified by:
        createContextual in interface com.fasterxml.jackson.databind.deser.ContextualDeserializer
        Overrides:
        createContextual in class SingleItemAsListDeserializer
      • deserialize

        public java.lang.Object deserialize​(com.fasterxml.jackson.core.JsonParser jsonParser,
                                            com.fasterxml.jackson.databind.DeserializationContext deserializationContext)
                                     throws java.io.IOException,
                                            java.lang.IllegalArgumentException
        Deserializes a JSON input into an object while handling cases where a single `TaskSearchRequest` or a list of `TaskSearchRequest` objects is included. If the object is a `SingleTaskSearchRequestAsList`, it processes each `TaskSearchRequest` in the list by sanitizing the `fullText` field using `ElasticsearchQuerySanitizer`.
        Overrides:
        deserialize in class SingleItemAsListDeserializer
        Parameters:
        jsonParser - the JSON parser used to parse the incoming JSON content
        deserializationContext - the context for deserialization, providing shared state and configuration
        Returns:
        the deserialized object, with sanitization applied to `TaskSearchRequest.fullText` if applicable
        Throws:
        java.io.IOException - if an I/O error occurs during parsing
        java.lang.IllegalArgumentException - if the deserialization process encounters an error