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/jsontype/NamedType.java

    package com.fasterxml.jackson.databind.jsontype;
    
    import java.util.Objects;
    
    /**
     * Simple container class for types with optional logical name, used
     * as external identifier
     */
    public final class NamedType implements java.io.Serializable
    {
        private static final long serialVersionUID = 1L;
    
        protected final Class<?> _class;
        protected final int _hashCode;
    
        protected String _name;
        
        public NamedType(Class<?> c) { this(c, null); }
    
        public NamedType(Class<?> c, String name) {
            _class = c;
            _hashCode = c.getName().hashCode() + ((name == null) ? 0 : name.hashCode());
            setName(name);
        }
    
        public Class<?> getType() { return _class; }
        public String getName() { return _name; }
        public void setName(String name) { _name = (name == null || name.isEmpty()) ? null : name; }
    
        public boolean hasName() { return _name != null; }
        
        /**
         * Equality is defined based on class and name
         */
        @Override
        public boolean equals(Object o) {
            if (o == this) return true;
            if (o == null) return false;
            if (o.getClass() != getClass()) return false;
            NamedType other = (NamedType)o;
            return (_class == other._class)
                    && Objects.equals(_name, other._name);
        }
    
        @Override
        public int hashCode() { return _hashCode; }
    
        @Override
        public String toString() {
        	return "[NamedType, class "+_class.getName()+", name: "
        	        +(_name == null ? "null" :("'"+_name+"'"))+"]";
        }
    }
    

    com/fasterxml/jackson/databind/jsontype/NamedType.java

     

    ⇒ Jackson Annotations Source Code

    ⇐ Download and Install Jackson Binary Package

    ⇑ Downloading and Reviewing jackson-*.jar

    ⇑⇑ Jackson - Java JSON library

    2022-03-29, 31886👍, 0💬