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/ser/std/AtomicReferenceSerializer.java

    package com.fasterxml.jackson.databind.ser.std;
    
    import java.util.concurrent.atomic.AtomicReference;
    
    import com.fasterxml.jackson.databind.*;
    import com.fasterxml.jackson.databind.jsontype.TypeSerializer;
    import com.fasterxml.jackson.databind.type.ReferenceType;
    import com.fasterxml.jackson.databind.util.NameTransformer;
    
    public class AtomicReferenceSerializer
        extends ReferenceTypeSerializer<AtomicReference<?>>
    {
        private static final long serialVersionUID = 1L;
    
        /*
        /**********************************************************
        /* Constructors, factory methods
        /**********************************************************
         */
    
        public AtomicReferenceSerializer(ReferenceType fullType, boolean staticTyping,
                TypeSerializer vts, JsonSerializer<Object> ser)
        {
            super(fullType, staticTyping, vts, ser);
        }
    
        protected AtomicReferenceSerializer(AtomicReferenceSerializer base, BeanProperty property,
                TypeSerializer vts, JsonSerializer<?> valueSer,
                NameTransformer unwrapper,
                Object suppressableValue, boolean suppressNulls)
        {
            super(base, property, vts, valueSer, unwrapper,
                    suppressableValue, suppressNulls);
        }
    
        @Override
        protected ReferenceTypeSerializer<AtomicReference<?>> withResolved(BeanProperty prop,
                TypeSerializer vts, JsonSerializer<?> valueSer,
                NameTransformer unwrapper)
        {
            return new AtomicReferenceSerializer(this, prop, vts, valueSer, unwrapper,
                    _suppressableValue, _suppressNulls);
        }
    
        @Override
        public ReferenceTypeSerializer<AtomicReference<?>> withContentInclusion(Object suppressableValue,
                boolean suppressNulls)
        {
            return new AtomicReferenceSerializer(this, _property, _valueTypeSerializer,
                    _valueSerializer, _unwrapper,
                    suppressableValue, suppressNulls);
        }
    
        /*
        /**********************************************************
        /* Abstract method impls
        /**********************************************************
         */
    
        @Override
        protected boolean _isValuePresent(AtomicReference<?> value) {
            return value.get() != null;
        }
    
        @Override
        protected Object _getReferenced(AtomicReference<?> value) {
            return value.get();
        }
    
        @Override
        protected Object _getReferencedIfPresent(AtomicReference<?> value) {
            return value.get();
        }
    }
    

    com/fasterxml/jackson/databind/ser/std/AtomicReferenceSerializer.java

     

    ⇒ Jackson Annotations Source Code

    ⇐ Download and Install Jackson Binary Package

    ⇑ Downloading and Reviewing jackson-*.jar

    ⇑⇑ Jackson - Java JSON library

    2022-03-29, 32059👍, 0💬