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/exc/MismatchedInputException.java

    package com.fasterxml.jackson.databind.exc;
    
    import com.fasterxml.jackson.core.JsonLocation;
    import com.fasterxml.jackson.core.JsonParser;
    import com.fasterxml.jackson.databind.JavaType;
    import com.fasterxml.jackson.databind.JsonMappingException;
    import com.fasterxml.jackson.databind.util.ClassUtil;
    
    /**
     * General exception type used as the base class for all {@link JsonMappingException}s
     * that are due to input not mapping to target definition; these are typically
     * considered "client errors" since target type definition itself is not the root cause
     * but mismatching input. This is in contrast to {@link InvalidDefinitionException} which
     * signals a problem with target type definition and not input.
     *<p>
     * This type is used as-is for some input problems, but in most cases there should be
     * more explicit subtypes to use.
     *<p>
     * NOTE: name chosen to differ from `java.util.InputMismatchException` since while that
     * would have been better name, use of same overlapping name causes nasty issues
     * with IDE auto-completion, so slightly less optimal chosen.
     *
     * @since 2.9
     */
    @SuppressWarnings("serial")
    public class MismatchedInputException
        extends JsonMappingException
    {
        /**
         * Type of value that was to be deserialized
         */
        protected Class<?> _targetType;
    
        protected MismatchedInputException(JsonParser p, String msg) {
            this(p, msg, (JavaType) null);
        }
    
        protected MismatchedInputException(JsonParser p, String msg, JsonLocation loc) {
            super(p, msg, loc);
        }
    
        protected MismatchedInputException(JsonParser p, String msg, Class<?> targetType) {
            super(p, msg);
            _targetType = targetType;
        }
    
        protected MismatchedInputException(JsonParser p, String msg, JavaType targetType) {
            super(p, msg);
            _targetType = ClassUtil.rawClass(targetType);
        }
    
        // Only to prevent super-class static method from getting called
        @Deprecated // as of 2.9
        public static MismatchedInputException from(JsonParser p, String msg) {
            return from(p, (Class<?>) null, msg);
        }
    
        public static MismatchedInputException from(JsonParser p, JavaType targetType, String msg) {
            return new MismatchedInputException(p, msg, targetType);
        }
    
        public static MismatchedInputException from(JsonParser p, Class<?> targetType, String msg) {
            return new MismatchedInputException(p, msg, targetType);
        }
    
        public MismatchedInputException setTargetType(JavaType t) {
            _targetType = t.getRawClass();
            return this;
        }
    
        /**
         * Accessor for getting intended target type, with which input did not match,
         * if known; `null` if not known for some reason.
         */
        public Class<?> getTargetType() {
            return _targetType;
        }
    }
    

    com/fasterxml/jackson/databind/exc/MismatchedInputException.java

     

    ⇒ Jackson Annotations Source Code

    ⇐ Download and Install Jackson Binary Package

    ⇑ Downloading and Reviewing jackson-*.jar

    ⇑⇑ Jackson - Java JSON library

    2022-03-29, 32021👍, 0💬