Package io.vertx.rxjava3.json.schema

## Class JsonSchema

- java.lang.Object
- - io.vertx.rxjava3.json.schema.JsonSchema

-     public class JsonSchema
      extends Object

  A Json-Schema holder.

  There are 2 kinds of Json-Schema's:

  - JSON Object based
  - Boolean based

  This is a common interface to handle all kinds of schemas.

  NOTE: This class has been automatically generated from the `original` non RX-ified interface using Vert.x codegen.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static io.vertx.lang.rx.TypeArg<JsonSchema>` | `__TYPE_ARG` |
    `static java.util.function.Predicate<Map.Entry<String,​Object>>` | `EXCLUDE_ANNOTATION_ENTRIES` | Predicate to filter out annotation keys.
    `static java.util.function.Predicate<String>` | `EXCLUDE_ANNOTATIONS` | Predicate to filter out annotation keys.

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `JsonSchema​(JsonSchema delegate)` |
    `JsonSchema​(Object delegate)` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `JsonSchema` | `annotate​(String key, String value)` | Annotates the schema.
    `boolean` | `containsKey​(String key)` | Checks if the given key is present in the schema object.
    `boolean` | `equals​(Object o)` |
    `Set<String>` | `fieldNames()` | Returns the field names on the underlying object.
    `<R> R` | `get​(String key)` | Get a type casted value by key.
    `<R> R` | `get​(String key, R fallback)` | Get a type casted value by key.
    `JsonSchema` | `getDelegate()` |
    `int` | `hashCode()` |
    `static JsonSchema` | `newInstance​(JsonSchema arg)` |
    `static JsonSchema` | `of​(boolean bool)` | Factory method to create a `JsonSchema` from a `Boolean`.
    `static JsonSchema` | `of​(JsonObject json)` | Factory method to create a `JsonSchema` from a .
    `static JsonSchema` | `of​(String id, JsonObject json)` | Factory method to create a `JsonSchema` from a .
    `String` | `toString()` |

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### __TYPE_ARG

          public static final io.vertx.lang.rx.TypeArg<JsonSchema> __TYPE_ARG

    - #### EXCLUDE_ANNOTATIONS

          public static final java.util.function.Predicate<String> EXCLUDE_ANNOTATIONS

      Predicate to filter out annotation keys.

    - #### EXCLUDE_ANNOTATION_ENTRIES

          public static final java.util.function.Predicate<Map.Entry<String,​Object>> EXCLUDE_ANNOTATION_ENTRIES

      Predicate to filter out annotation keys.

  - ### Constructor Detail

    - #### JsonSchema

          public JsonSchema​(JsonSchema delegate)

    - #### JsonSchema

          public JsonSchema​(Object delegate)

  - ### Method Detail

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

    - #### equals

          public boolean equals​(Object o)

      Overrides:
        `equals` in class `Object`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `Object`

    - #### getDelegate

          public JsonSchema getDelegate()

    - #### of

          public static JsonSchema of​(JsonObject json)

      Factory method to create a `JsonSchema` from a .
      Parameters:
        `json` - a JSON Object.
      Returns:
        a wrapper for the input object.

    - #### of

          public static JsonSchema of​(String id,
                                      JsonObject json)

      Factory method to create a `JsonSchema` from a .
      Parameters:
        `id` - will force the given id as the schema $id.
        `json` - a JSON Object.
      Returns:
        a wrapper for the input object.

    - #### of

          public static JsonSchema of​(boolean bool)

      Factory method to create a `JsonSchema` from a `Boolean`.
      Parameters:
        `bool` - a boolean.
      Returns:
        a wrapper for the input object.

    - #### annotate

          public JsonSchema annotate​(String key,
                                     String value)

      Annotates the schema. An annotation is a extra key-value added to the schema that are not relevant for validation but can be used to store pre-computed state.
      Parameters:
        `key` - a key
        `value` - a value
      Returns:

    - #### get

          public <R> R get​(String key)

      Get a type casted value by key.
      Parameters:
        `key` - a key
      Returns:
        the value or `null`

    - #### get

          public <R> R get​(String key,
                           R fallback)

      Get a type casted value by key. If the key is missing, then the fallback value is returned.
      Parameters:
        `key` - a key
        `fallback` - fallback when key is not present
      Returns:
        the value or `null`

    - #### containsKey

          public boolean containsKey​(String key)

      Checks if the given key is present in the schema object.
      Parameters:
        `key` - a key
      Returns:
        `true` if present

    - #### fieldNames

          public Set<String> fieldNames()

      Returns the field names on the underlying object.
      Returns:
        field names

    - #### newInstance

          public static JsonSchema newInstance​(JsonSchema arg)