Package org.kiwiproject.jackson.ser
Class ListToCsvStringDeserializer
- java.lang.Object
-
- com.fasterxml.jackson.databind.JsonDeserializer<T>
-
- com.fasterxml.jackson.databind.deser.std.StdDeserializer<String>
-
- org.kiwiproject.jackson.ser.ListToCsvStringDeserializer
-
- All Implemented Interfaces:
com.fasterxml.jackson.databind.deser.NullValueProvider,Serializable
public class ListToCsvStringDeserializer extends com.fasterxml.jackson.databind.deser.std.StdDeserializer<String>
Custom JacksonJsonDeserializerto examine a node and take different action based on whether it is aTextNodeor 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 anIllegalStateExceptionif the returned codec is null.
-
-
Constructor Summary
Constructors Constructor Description ListToCsvStringDeserializer()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Stringdeserialize(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
-
-
-
-
Method Detail
-
deserialize
public String deserialize(com.fasterxml.jackson.core.JsonParser parser, com.fasterxml.jackson.databind.DeserializationContext context) throws IOException
- Specified by:
deserializein classcom.fasterxml.jackson.databind.JsonDeserializer<String>- Throws:
IOException
-
-