JsonSerializableSchema
Date: 2016-12-04

com.fasterxml.jackson.databind.jsonschema

## Annotation Type JsonSerializableSchema

-     @Target(value=TYPE)
      @Retention(value=RUNTIME)
      public @interface JsonSerializableSchema

  Annotation that can be used to define JSON Schema definition 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 definition.

- - ### Optional Element Summary

    Optional Elements
    Modifier and Type | Optional Element and Description
    --- | ---
    `java.lang.String` | `id` Property that can be used to indicate id of the type when generating JSON Schema; empty String indicates that no id is defined.
    `java.lang.String` | `schemaItemDefinition` 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.
    `java.lang.String` | `schemaObjectPropertiesDefinition` 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.
    `java.lang.String` | `schemaType` The schema type for this JsonSerializable instance.

- - ### Element Detail

    - #### id

          public abstract java.lang.String id

      Property that can be used to indicate id of the type when generating JSON Schema; empty String indicates that no id is defined.
      Default:
        ""

    - #### schemaType

          public abstract java.lang.String schemaType

      The schema type for this JsonSerializable instance. Possible values: "string", "number", "boolean", "object", "array", "null", "any"
      Returns:
        The schema type for this JsonSerializable instance.
      Default:
        "any"

    - #### schemaObjectPropertiesDefinition

          @Deprecated
          public abstract java.lang.String schemaObjectPropertiesDefinition

      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.
      If the schema type is "object", JSON definition of properties of the object as a String.
      Returns:
        The node representing the schema properties, or "##irrelevant" if irrelevant.
      Default:
        "##irrelevant"

    - #### schemaItemDefinition

          @Deprecated
          public abstract java.lang.String schemaItemDefinition

      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.
      If the schema type if "array", JSON definition of the schema for item types contained.
      Returns:
        The schema for the items in the array, or "##irrelevant" if irrelevant.
      Default:
        "##irrelevant"