Jackson Annotations Source Code

Jackson is "the Java JSON library" or "the best JSON parser for Java". Or simply as "JSON for Java".

Jackson Annotations Source Code files are provided in the source packge (jackson-annotations-2.12.4-sources.jar). You can download it at Jackson Maven Website.

You can also browse Jackson Annotations 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 Dataformat Extensions

⇐ Jackson Data Binding Source Code

⇑ Downloading and Reviewing jackson-*.jar

⇑⇑ Jackson - Java JSON library

2022-02-19, 36147👍, 0💬