Class CaseSearchRequestSingleItemAsListDeserializer

  • 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 CaseSearchRequestSingleItemAsListDeserializer
    extends SingleItemAsListDeserializer
    Custom deserializer for handling JSON deserialization of objects that extend the SingleItemAsList class, specifically designed for handling CaseSearchRequest and ensuring its fields are properly sanitized.

    This deserializer extends the functionality of SingleItemAsListDeserializer to additionally process the deserialized objects that represent case search requests. It ensures that the `fullText` field in each case search request is sanitized using ElasticsearchQuerySanitizer.

    It also provides a mechanism to dynamically determine the appropriate type using the contextual information during deserialization.

    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 structure into an object, specifically handling instances that may extend the SingleCaseSearchRequestAsList.
      • 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

      • CaseSearchRequestSingleItemAsListDeserializer

        protected CaseSearchRequestSingleItemAsListDeserializer()
      • CaseSearchRequestSingleItemAsListDeserializer

        protected CaseSearchRequestSingleItemAsListDeserializer​(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 structure into an object, specifically handling instances that may extend the SingleCaseSearchRequestAsList. During deserialization, it sanitizes the `fullText` field in each CaseSearchRequest object for security purposes using ElasticsearchQuerySanitizer.
        Overrides:
        deserialize in class SingleItemAsListDeserializer
        Parameters:
        jsonParser - the JsonParser used for reading the JSON input
        deserializationContext - the DeserializationContext providing access to contextual information during deserialization
        Returns:
        the deserialized object, with sanitization applied if it is an instance of SingleCaseSearchRequestAsList
        Throws:
        java.io.IOException - if any I/O error occurs during deserialization
        java.lang.IllegalArgumentException - if the object could not be properly instantiated or deserialized