Jackson Data Binding Source Code

Jackson is "the Java JSON library" or "the best JSON parser for Java". Or simply as "JSON for Java".

  • Jackson Data Binding module allows you to converts JSON to and from POJO (Plain Old Java Object) using property accessor or using annotations.
  • Jackson Databind Source Code files are provided in the source packge (jackson-databind-2.12.4-sources.jar). You can download it at Jackson Maven Website.

    You can also browse Jackson Databind Source Code below:

    ✍: FYIcenter.com

    com/fasterxml/jackson/databind/AbstractTypeResolver.java

    package com.fasterxml.jackson.databind;
    
    /**
     * Defines interface for resolvers that can resolve abstract types into concrete
     * ones; either by using static mappings, or possibly by materializing
     * implementations dynamically.
     */
    public abstract class AbstractTypeResolver
    {
        /**
         * Try to locate a subtype for given abstract type, to either resolve
         * to a concrete type, or at least to a more-specific (and hopefully supported)
         * abstract type, one which may have registered deserializers.
         * Method is called before trying to locate registered deserializers
         * (as well as standard abstract type defaulting that core Jackson does),
         * so it is typically implemented to add custom mappings of common abstract
         * types (like specify which concrete implementation to use for binding
         * {@link java.util.List}s).
         *<p>
         * Note that this method does not necessarily have to do full resolution
         * of bindings; that is, it is legal to return type that could be further
         * resolved: caller is expected to keep calling this method on registered
         * resolvers, until a concrete type is located.
         *
         * @param config Configuration in use
         * @param type Type to find mapping for
         *
         * @return Type to map given input type (if mapping found) or {@code null} (if not).
         */
        public JavaType findTypeMapping(DeserializationConfig config, JavaType type) {
            return null;
        }
    
        /**
         * Older variant of {@link #resolveAbstractType(DeserializationConfig, BeanDescription)};
         * obsoleted in 2.7
         *
         * @deprecated since 2.8 (may be removed from 2.9 or later)
         *
         * @param config Configuration in use
         * @param type Type to resolve
         *
         * @return Resolved concrete type
         */
        @Deprecated
        public JavaType resolveAbstractType(DeserializationConfig config,
                JavaType type) {
            return null;
        }
    
        /**
         * Method called to try to resolve an abstract type into
         * concrete type (usually for purposes of deserializing),
         * when no concrete implementation was found.
         * It will be called after checking all other possibilities,
         * including defaulting.
         *
         * @param config Configuration in use
         * @param typeDesc Description of the POJO type to resolve
         * 
         * @return Resolved concrete type (which should retain generic
         *    type parameters of input type, if any), if resolution succeeds;
         *    null if resolver does not know how to resolve given type
         *
         * @since 2.7
         */
        public JavaType resolveAbstractType(DeserializationConfig config,
                BeanDescription typeDesc) {
            return null;
        }
    }
    

    com/fasterxml/jackson/databind/AbstractTypeResolver.java

     

    ⇒ Jackson Annotations Source Code

    ⇐ Download and Install Jackson Binary Package

    ⇑ Downloading and Reviewing jackson-*.jar

    ⇑⇑ Jackson - Java JSON library

    2022-03-29, 31930👍, 0💬