Class ListToCsvStringDeserializer

  • All Implemented Interfaces:
    com.fasterxml.jackson.databind.deser.NullValueProvider, Serializable

    public class ListToCsvStringDeserializer
    extends com.fasterxml.jackson.databind.deser.std.StdDeserializer<String>
    Custom Jackson JsonDeserializer to examine a node and take different action based on whether it is a TextNode or a container node. If it is a TextNode, return the node's text, otherwise collect the values in the container and join them into a CSV string.

    This implementation does not perform extensive error checking; it assumes the element being deserialized contains either a TextNode or is a container of TextNode. If a TextNode, it assumes the content is CSV but does not verify. For example, as a TextNode in YAML:

     someProperty: value1,value2,value3
     

    And as a container node:

     someProperty:
       - value1
       - value2
       - value3
     

    Both of the above YAML configurations will result in the value "value1,value2,value3".

    See Also:
    Serialized Form
    Implementation Note:
    The deserialization requires JsonParser.getCodec() to return a non-null codec and will throw an IllegalStateException if the returned codec is null.
    • 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
      String deserialize​(com.fasterxml.jackson.core.JsonParser parser, com.fasterxml.jackson.databind.DeserializationContext context)  
      • Methods inherited from class com.fasterxml.jackson.databind.deser.std.StdDeserializer

        _byteOverflow, _coercedTypeDesc, _coerceEmptyString, _coerceIntegral, _coerceNullToken, _coerceTextualNull, _deserializeFromArray, _deserializeFromEmpty, _deserializeWrappedValue, _failDoubleToIntCoercion, _findNullProvider, _hasTextualNull, _intOverflow, _isEmptyOrTextualNull, _isIntNumber, _isNaN, _isNegInf, _isPosInf, _neitherNull, _nonNullNumber, _parseBooleanFromInt, _parseBooleanPrimitive, _parseBytePrimitive, _parseDate, _parseDate, _parseDateFromArray, _parseDoublePrimitive, _parseDoublePrimitive, _parseFloatPrimitive, _parseFloatPrimitive, _parseIntPrimitive, _parseIntPrimitive, _parseLongPrimitive, _parseLongPrimitive, _parseShortPrimitive, _parseString, _reportFailedNullCoerce, _shortOverflow, _verifyEndArrayForSingle, _verifyNullForPrimitive, _verifyNullForPrimitiveCoercion, _verifyNullForScalarCoercion, _verifyNumberForScalarCoercion, _verifyStringForScalarCoercion, deserializeWithType, findContentNullProvider, findContentNullStyle, findConvertingContentDeserializer, findDeserializer, findFormatFeature, findFormatOverrides, findValueNullProvider, getValueClass, getValueType, getValueType, handledType, handleMissingEndArrayForSingle, handleUnknownProperty, isDefaultDeserializer, isDefaultKeyDeserializer, parseDouble
      • Methods inherited from class com.fasterxml.jackson.databind.JsonDeserializer

        deserialize, deserializeWithType, findBackReference, getDelegatee, getEmptyAccessPattern, getEmptyValue, getEmptyValue, getKnownPropertyNames, getNullAccessPattern, getNullValue, getNullValue, getObjectIdReader, isCachable, replaceDelegatee, supportsUpdate, unwrappingDeserializer
    • Constructor Detail

      • ListToCsvStringDeserializer

        public ListToCsvStringDeserializer()
    • Method Detail

      • deserialize

        public String deserialize​(com.fasterxml.jackson.core.JsonParser parser,
                                  com.fasterxml.jackson.databind.DeserializationContext context)
                           throws IOException
        Specified by:
        deserialize in class com.fasterxml.jackson.databind.JsonDeserializer<String>
        Throws:
        IOException