
org.testifyproject.fasterxml.jackson.databind.jsonschema.JsonSerializableSchema Maven / Gradle / Ivy
package org.testifyproject.testifyproject.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 org.testifyproject.testifyproject.fasterxml.jackson.annotation.JacksonAnnotation;
/**
* Annotation that can be used to org.testifyproject.testifyprojectfine JSON Schema org.testifyproject.testifyprojectfinition for
* the annotated class.
*
* 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 org.testifyproject.testifyprojectfinition.
*
* @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 can not have null as org.testifyproject.testifyprojectfault
* 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 org.testifyproject.testifyprojectfined.
*/
public String id() org.testifyproject.testifyprojectfault "";
/**
* 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() org.testifyproject.testifyprojectfault "any";
/**
* If the schema type is "object", JSON org.testifyproject.testifyprojectfinition of properties of the object as
* a String.
*
* @return The node representing the schema properties, or "##irrelevant" if irrelevant.
*
* @org.testifyproject.testifyprojectprecated (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() org.testifyproject.testifyprojectfault NO_VALUE;
/**
* If the schema type if "array", JSON org.testifyproject.testifyprojectfinition of the schema for item types contained.
*
* @return The schema for the items in the array, or "##irrelevant" if irrelevant.
*
* @org.testifyproject.testifyprojectprecated (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() org.testifyproject.testifyprojectfault NO_VALUE;
}