Class 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
    See Also:
    JsonObjectSerializer
    • Nested Class Summary

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

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

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and TypeMethodDescription
      Tdeserialize​(com.fasterxml.jackson.core.JsonParser jp, com.fasterxml.jackson.databind.DeserializationContext ctxt) 
      protected abstract TdeserializeObject​(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 com.fasterxml.jackson.databind.JsonNodegetRequiredNode​(com.fasterxml.jackson.databind.JsonNode tree, String fieldName)
      Helper method to return a JsonNode from the tree.
      protected <D> DnullSafeValue​(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.
      • Methods inherited from class com.fasterxml.jackson.databind.JsonDeserializer

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

      • 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:
        deserialize(JsonParser, DeserializationContext)
      • 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