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


    package com.fasterxml.jackson.databind.introspect;
    import com.fasterxml.jackson.annotation.JsonIdentityInfo;
    import com.fasterxml.jackson.annotation.ObjectIdGenerator;
    import com.fasterxml.jackson.annotation.ObjectIdResolver;
    import com.fasterxml.jackson.annotation.SimpleObjectIdResolver;
    import com.fasterxml.jackson.databind.PropertyName;
    import com.fasterxml.jackson.databind.util.ClassUtil;
     * Container object that encapsulates information usually
     * derived from {@link JsonIdentityInfo} annotation or its
     * custom alternatives
    public class ObjectIdInfo
        protected final PropertyName _propertyName;
        protected final Class<? extends ObjectIdGenerator<?>> _generator;
        protected final Class<? extends ObjectIdResolver> _resolver;
        protected final Class<?> _scope;
        protected final boolean _alwaysAsId;
         * @since 2.8.9
        private final static ObjectIdInfo EMPTY = new ObjectIdInfo(PropertyName.NO_NAME, Object.class, null, false, null);
        public ObjectIdInfo(PropertyName name, Class<?> scope, Class<? extends ObjectIdGenerator<?>> gen,
                Class<? extends ObjectIdResolver> resolver)
            this(name, scope, gen, false, resolver);
        protected ObjectIdInfo(PropertyName prop, Class<?> scope, Class<? extends ObjectIdGenerator<?>> gen,
                boolean alwaysAsId)
            this(prop, scope, gen, alwaysAsId, SimpleObjectIdResolver.class);
        protected ObjectIdInfo(PropertyName prop, Class<?> scope, Class<? extends ObjectIdGenerator<?>> gen,
                boolean alwaysAsId, Class<? extends ObjectIdResolver> resolver)
            _propertyName = prop;
            _scope = scope;
            _generator = gen;
            _alwaysAsId = alwaysAsId;
            if (resolver == null) {
                resolver = SimpleObjectIdResolver.class;
            _resolver = resolver;
        public static ObjectIdInfo empty() {
            return EMPTY;
        public ObjectIdInfo withAlwaysAsId(boolean state) {
            if (_alwaysAsId == state) {
                return this;
            return new ObjectIdInfo(_propertyName, _scope, _generator, state, _resolver);
        public PropertyName getPropertyName() { return _propertyName; }
        public Class<?> getScope() { return _scope; }
        public Class<? extends ObjectIdGenerator<?>> getGeneratorType() { return _generator; }
        public Class<? extends ObjectIdResolver> getResolverType() { return _resolver; }
        public boolean getAlwaysAsId() { return _alwaysAsId; }
        public String toString() {
            return "ObjectIdInfo: propName="+_propertyName
                    +", scope="+ClassUtil.nameOf(_scope)
                    +", generatorType="+ClassUtil.nameOf(_generator)
                    +", alwaysAsId="+_alwaysAsId;



    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


    Jackson Annotations Source Code

    Download and Install Jackson Binary Package

    Downloading and Reviewing jackson-*.jar

    ⇑⇑ Jackson - Java JSON library

    2022-03-29, 46970👍, 0💬