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.14.0-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/util/NativeImageUtil.java

    package com.fasterxml.jackson.databind.util;
    
    import java.lang.reflect.InvocationTargetException;
    
    /**
     * Utilities for graal native image support; mostly to improve error message handling
     * in case of missing information for native image.
     *
     * @since 2.14
     */
    public class NativeImageUtil {
        private static final boolean RUNNING_IN_SVM;
    
        static {
            RUNNING_IN_SVM = System.getProperty("org.graalvm.nativeimage.imagecode") != null;
        }
    
        private NativeImageUtil() {
        }
    
        /**
         * Check whether we're running in substratevm native image runtime mode. This check cannot be a constant, because
         * the static initializer may run early during build time
         */
        private static boolean isRunningInNativeImage() {
            return RUNNING_IN_SVM && "runtime".equals(System.getProperty("org.graalvm.nativeimage.imagecode"));
        }
    
        /**
         * Check whether the given error is a substratevm UnsupportedFeatureError
         */
        public static boolean isUnsupportedFeatureError(Throwable e) {
            if (!isRunningInNativeImage()) {
                return false;
            }
            if (e instanceof InvocationTargetException) {
                e = e.getCause();
            }
            return e.getClass().getName().equals("com.oracle.svm.core.jdk.UnsupportedFeatureError");
        }
    
        /**
         * Check whether the given class is likely missing reflection configuration (running in native image, and no
         * members visible in reflection).
         */
        public static boolean needsReflectionConfiguration(Class<?> cl) {
            if (!isRunningInNativeImage()) {
                return false;
            }
            // records list their fields but not other members
            return (cl.getDeclaredFields().length == 0 || ClassUtil.isRecordType(cl)) &&
                    cl.getDeclaredMethods().length == 0 &&
                    cl.getDeclaredConstructors().length == 0;
        }
    }
    

    com/fasterxml/jackson/databind/util/NativeImageUtil.java

     

    Or download all of them as a single archive file:

    File name: jackson-databind-2.14.0-sources.jar
    File size: 1187952 bytes
    Release date: 2022-11-05
    Download 
    

     

    Jackson Annotations Source Code

    Download and Install Jackson Binary Package

    Downloading and Reviewing jackson-*.jar

    ⇑⇑ Jackson - Java JSON library

    2022-03-29, 82270👍, 0💬