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/jsonschema/JsonSerializableSchema.java

    package com.fasterxml.jackson.databind.jsonschema;
    
    import java.lang.annotation.RetentionPolicy;
    import java.lang.annotation.Retention;
    import java.lang.annotation.ElementType;
    import java.lang.annotation.Target;
    
    import com.fasterxml.jackson.annotation.JacksonAnnotation;
    
    /**
     * Annotation that can be used to define JSON Schema definition for
     * the annotated class.
     *<p>
     * Note that annotation is often not needed: for example, regular
     * Jackson beans that Jackson can introspect can be used without
     * annotations, to produce JSON schema definition.
     * 
     * @author Ryan Heaton
     * @author Tatu Saloranta
     */
    @Target(ElementType.TYPE)
    @Retention(RetentionPolicy.RUNTIME)
    @JacksonAnnotation
    public @interface JsonSerializableSchema
    {
        /**
         * Marker value used to indicate that property has "no value";
         * needed because annotations cannot have null as default
         * value.
         */
        public final static String NO_VALUE = "##irrelevant";
    
        /**
         * Property that can be used to indicate id of the type when
         * generating JSON Schema; empty String indicates that no id
         * is defined.
         */
        public String id() default "";
        
        /**
         * The schema type for this JsonSerializable instance.
         * Possible values: "string", "number", "boolean", "object", "array", "null", "any"
         *
         * @return The schema type for this JsonSerializable instance.
         */
        public String schemaType() default "any";
    
        /**
         * If the schema type is "object", JSON definition of properties of the object as
         * a String.
         *
         * @return The node representing the schema properties, or "##irrelevant" if irrelevant.
         * 
         * @deprecated (since 2.1) -- support will be dropped in future, since JSON-as-String is
         *   fundamentally bad way for customizing anything. No direct replacements offered.
         */
        @Deprecated
        public String schemaObjectPropertiesDefinition() default NO_VALUE;
    
        /**
         * If the schema type if "array", JSON definition of the schema for item types contained.
         *
         * @return The schema for the items in the array, or "##irrelevant" if irrelevant.
         * 
         * @deprecated (since 2.1) -- support will be dropped in future, since JSON-as-String is
         *   fundamentally bad way for customizing anything. No direct replacements offered.
         */
        @Deprecated
        public String schemaItemDefinition() default NO_VALUE;
    }
    

    com/fasterxml/jackson/databind/jsonschema/JsonSerializableSchema.java

     

    ⇒ Jackson Annotations Source Code

    ⇐ Download and Install Jackson Binary Package

    ⇑ Downloading and Reviewing jackson-*.jar

    ⇑⇑ Jackson - Java JSON library

    2022-03-29, 32287👍, 0💬