Class JsonObjectDeserializer<T>

java.lang.Object
com.fasterxml.jackson.databind.JsonDeserializer<T>
org.springframework.boot.jackson.JsonObjectDeserializer<T>
Type Parameters:
T - the supported object type
All Implemented Interfaces:
com.fasterxml.jackson.databind.deser.NullValueProvider

public abstract class JsonObjectDeserializer<T> extends com.fasterxml.jackson.databind.JsonDeserializer<T>
Helper base class for JsonDeserializer implementations that deserialize objects.
Since:
1.4.0
Author:
Phillip Webb
See Also:
  • Nested Class Summary

    Nested classes/interfaces inherited from class com.fasterxml.jackson.databind.JsonDeserializer

    com.fasterxml.jackson.databind.JsonDeserializer.None
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    final T
    deserialize(com.fasterxml.jackson.core.JsonParser jp, com.fasterxml.jackson.databind.DeserializationContext ctxt)
     
    protected abstract T
    deserializeObject(com.fasterxml.jackson.core.JsonParser jsonParser, com.fasterxml.jackson.databind.DeserializationContext context, com.fasterxml.jackson.core.ObjectCodec codec, com.fasterxml.jackson.databind.JsonNode tree)
    Deserialize JSON content into the value type this serializer handles.
    protected final com.fasterxml.jackson.databind.JsonNode
    getRequiredNode(com.fasterxml.jackson.databind.JsonNode tree, String fieldName)
    Helper method to return a JsonNode from the tree.
    protected final <D> D
    nullSafeValue(com.fasterxml.jackson.databind.JsonNode jsonNode, Class<D> type)
    Helper method to extract a value from the given jsonNode or return null when the node itself is null.
    protected final <D, R> R
    nullSafeValue(com.fasterxml.jackson.databind.JsonNode jsonNode, Class<D> type, Function<D,R> mapper)
    Helper method to extract a value from the given jsonNode or return null when the node itself is null.

    Methods inherited from class com.fasterxml.jackson.databind.JsonDeserializer

    deserialize, deserializeWithType, deserializeWithType, findBackReference, getAbsentValue, getDelegatee, getEmptyAccessPattern, getEmptyValue, getEmptyValue, getKnownPropertyNames, getNullAccessPattern, getNullValue, getNullValue, getObjectIdReader, handledType, isCachable, logicalType, replaceDelegatee, supportsUpdate, unwrappingDeserializer

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • JsonObjectDeserializer

      public JsonObjectDeserializer()
  • Method Details

    • deserialize

      public final T deserialize(com.fasterxml.jackson.core.JsonParser jp, com.fasterxml.jackson.databind.DeserializationContext ctxt) throws IOException
      Specified by:
      deserialize in class com.fasterxml.jackson.databind.JsonDeserializer<T>
      Throws:
      IOException
    • deserializeObject

      protected abstract T deserializeObject(com.fasterxml.jackson.core.JsonParser jsonParser, com.fasterxml.jackson.databind.DeserializationContext context, com.fasterxml.jackson.core.ObjectCodec codec, com.fasterxml.jackson.databind.JsonNode tree) throws IOException
      Deserialize JSON content into the value type this serializer handles.
      Parameters:
      jsonParser - the source parser used for reading JSON content
      context - context that can be used to access information about this deserialization activity
      codec - the ObjectCodec associated with the parser
      tree - deserialized JSON content as tree expressed using set of TreeNode instances
      Returns:
      the deserialized object
      Throws:
      IOException - on error
      See Also:
    • nullSafeValue

      protected final <D, R> R nullSafeValue(com.fasterxml.jackson.databind.JsonNode jsonNode, Class<D> type, Function<D,R> mapper)
      Helper method to extract a value from the given jsonNode or return null when the node itself is null.
      Type Parameters:
      D - the data type requested
      R - the result type
      Parameters:
      jsonNode - the source node (may be null)
      type - the data type. May be String, Boolean, Long, Integer, Short, Double, Float, BigDecimal or BigInteger.
      mapper - a mapper to convert the value when it is not null
      Returns:
      the node value or null
      Since:
      3.4.0
    • nullSafeValue

      protected final <D> D nullSafeValue(com.fasterxml.jackson.databind.JsonNode jsonNode, Class<D> type)
      Helper method to extract a value from the given jsonNode or return null when the node itself is null.
      Type Parameters:
      D - the data type requested
      Parameters:
      jsonNode - the source node (may be null)
      type - the data type. May be String, Boolean, Long, Integer, Short, Double, Float, BigDecimal or BigInteger.
      Returns:
      the node value or null
    • getRequiredNode

      protected final com.fasterxml.jackson.databind.JsonNode getRequiredNode(com.fasterxml.jackson.databind.JsonNode tree, String fieldName)
      Helper method to return a JsonNode from the tree.
      Parameters:
      tree - the source tree
      fieldName - the field name to extract
      Returns:
      the JsonNode