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/ser/SerializerFactory.java

    package com.fasterxml.jackson.databind.ser;
    
    import com.fasterxml.jackson.databind.*;
    import com.fasterxml.jackson.databind.jsontype.TypeSerializer;
    
    /**
     * Abstract class that defines API used by {@link SerializerProvider}
     * to obtain actual
     * {@link JsonSerializer} instances from multiple distinct factories.
     */
    public abstract class SerializerFactory
    {
        /*
        /**********************************************************
        /* Additional configuration methods
        /**********************************************************
         */
    
        /**
         * Convenience method for creating a new factory instance with additional serializer
         * provider; equivalent to calling
         *<pre>
         *   withConfig(getConfig().withAdditionalSerializers(additional));
         *</pre>
         */
        public abstract SerializerFactory withAdditionalSerializers(Serializers additional);
    
        public abstract SerializerFactory withAdditionalKeySerializers(Serializers additional);
        
        /**
         * Convenience method for creating a new factory instance with additional bean
         * serializer modifier; equivalent to calling
         *<pre>
         *   withConfig(getConfig().withSerializerModifier(modifier));
         *</pre>
         */
        public abstract SerializerFactory withSerializerModifier(BeanSerializerModifier modifier);
        
        /*
        /**********************************************************
        /* Basic SerializerFactory API:
        /**********************************************************
         */
    
        /**
          * Method called to create (or, for immutable serializers, reuse) a serializer for given type. 
          * 
          * @param prov Provider that needs to be used to resolve annotation-provided
          *    serializers (but NOT for others)
          *    
          * @since 2.1 (earlier versions had method with different signature)
          */
        public abstract JsonSerializer<Object> createSerializer(SerializerProvider prov,
                JavaType baseType)
            throws JsonMappingException;
        
        /**
         * Method called to create a type information serializer for given base type,
         * if one is needed. If not needed (no polymorphic handling configured), should
         * return null.
         *
         * @param baseType Declared type to use as the base type for type information serializer
         * 
         * @return Type serializer to use for the base type, if one is needed; null if not.
         */
        public abstract TypeSerializer createTypeSerializer(SerializationConfig config,
                JavaType baseType)
            throws JsonMappingException;
    
        /**
         * Method called to create serializer to use for serializing JSON property names (which must
         * be output as <code>JsonToken.FIELD_NAME</code>) for Map that has specified declared
         * key type, and is for specified property (or, if property is null, as root value)
         * 
         * @param type Declared type for Map keys
         * @param defaultImpl Default key serializer implementation to use, if no custom ones
         *    are found (may be null)
         * 
         * @return Serializer to use, if factory knows it; null if not (in which case default
         *   serializer is to be used)
         *
         * @since 2.11
         */
        public JsonSerializer<Object> createKeySerializer(SerializerProvider prov,
                JavaType type, JsonSerializer<Object> defaultImpl)
            throws JsonMappingException {
            return createKeySerializer(prov.getConfig(), type, defaultImpl);
        }
    
        @Deprecated // since 2.11
        public abstract JsonSerializer<Object> createKeySerializer(SerializationConfig config,
                JavaType type, JsonSerializer<Object> defaultImpl)
            throws JsonMappingException;
    }
    

    com/fasterxml/jackson/databind/ser/SerializerFactory.java

     

    ⇒ Jackson Annotations Source Code

    ⇐ Download and Install Jackson Binary Package

    ⇑ Downloading and Reviewing jackson-*.jar

    ⇑⇑ Jackson - Java JSON library

    2022-03-29, 32291👍, 0💬