io.vertx.rxjava3.json.schema

## Class SchemaRepository

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

-     public class SchemaRepository
      extends Object

  A repository is a holder of dereferenced schemas, it can be used to create validator instances for a specific schema.

  This is to be used when multiple schema objects compose the global schema to be used for validation.

  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 and Description
    --- | ---
    `static io.vertx.lang.rx.TypeArg<SchemaRepository>` | `__TYPE_ARG`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SchemaRepository(Object delegate)`
    `SchemaRepository(SchemaRepository delegate)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static SchemaRepository` | `create(JsonSchemaOptions options)` Create a repository with some initial configuration.
    `SchemaRepository` | `dereference(JsonSchema schema)` Dereferences a schema to the repository.
    `SchemaRepository` | `dereference(String uri, JsonSchema schema)` Dereferences a schema to the repository.
    `boolean` | `equals(Object o)`
    `JsonSchema` | `find(String pointer)` Look up a schema using a JSON pointer notation
    `SchemaRepository` | `getDelegate()`
    `int` | `hashCode()`
    `static SchemaRepository` | `newInstance(SchemaRepository arg)`
    `SchemaRepository` | `preloadMetaSchema(FileSystem fs)` Preloads the repository with the meta schemas for the related @link `Draft` version.
    `SchemaRepository` | `preloadMetaSchema(FileSystem fs, Draft draft)` Preloads the repository with the meta schemas for the related draft version.
    `JsonObject` | `resolve(JsonObject schema)` Resolve all `$ref` in the given .
    `JsonObject` | `resolve(JsonSchema schema)` Tries to resolve all internal and repository local references.
    `JsonObject` | `resolve(String ref)` Tries to resolve all internal and repository local references.
    `String` | `toString()`
    `Validator` | `validator(JsonSchema schema)` A new validator instance using this repository options.
    `Validator` | `validator(JsonSchema schema, JsonSchemaOptions options)` A new validator instance overriding this repository options.
    `Validator` | `validator(JsonSchema schema, JsonSchemaOptions options, boolean dereference)` A new validator instance overriding this repository options.
    `Validator` | `validator(String ref)` A new validator instance using this repository options.
    `Validator` | `validator(String ref, JsonSchemaOptions options)` A new validator instance overriding this repository options.

    - ### 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<SchemaRepository> __TYPE_ARG

  - ### Constructor Detail

    - #### SchemaRepository

          public SchemaRepository(SchemaRepository delegate)

    - #### SchemaRepository

          public SchemaRepository(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 SchemaRepository getDelegate()

    - #### create

          public static SchemaRepository create(JsonSchemaOptions options)

      Create a repository with some initial configuration.
      Parameters:
        `options` - the initial configuration
      Returns:
        a repository

    - #### dereference

          public SchemaRepository dereference(JsonSchema schema)

      Dereferences a schema to the repository.
      Parameters:
        `schema` - a new schema to list
      Returns:
        a repository

    - #### dereference

          public SchemaRepository dereference(String uri,
                                              JsonSchema schema)

      Dereferences a schema to the repository.
      Parameters:
        `uri` - the source of the schema used for de-referencing, optionally relative to `JsonSchemaOptions`.
        `schema` - a new schema to list
      Returns:
        a repository

    - #### preloadMetaSchema

          public SchemaRepository preloadMetaSchema(FileSystem fs)

      Preloads the repository with the meta schemas for the related @link `Draft` version. The related draft version is determined from the `JsonSchemaOptions`, in case that no draft is set in the options an `IllegalStateException` is thrown.
      Parameters:
        `fs` - The Vert.x file system to load the related schema meta files from classpath
      Returns:
        a repository

    - #### preloadMetaSchema

          public SchemaRepository preloadMetaSchema(FileSystem fs,
                                                    Draft draft)

      Preloads the repository with the meta schemas for the related draft version.
      Parameters:
        `fs` - The Vert.x file system to load the related schema meta files from classpath
        `draft` - The draft version of the meta files to load
      Returns:
        a repository

    - #### validator

          public Validator validator(JsonSchema schema)

      A new validator instance using this repository options.
      Parameters:
        `schema` - the start validation schema
      Returns:
        the validator

    - #### validator

          public Validator validator(String ref)

      A new validator instance using this repository options. This is the preferred way to create a validator as it avoids reparsing schemas and reuses the cache in the repository.
      Parameters:
        `ref` - the start validation reference in JSON pointer format
      Returns:
        the validator

    - #### validator

          public Validator validator(String ref,
                                     JsonSchemaOptions options)

      A new validator instance overriding this repository options. This is the preferred way to create a validator as it avoids reparsing schemas and reuses the cache in the repository.
      Parameters:
        `ref` - the start validation reference in JSON pointer format
        `options` - the options to be using on the validator instance
      Returns:
        the validator

    - #### validator

          public Validator validator(JsonSchema schema,
                                     JsonSchemaOptions options)

      A new validator instance overriding this repository options. The given schema will not be referenced to the repository.
      Parameters:
        `schema` - the start validation schema
        `options` - the options to be using on the validator instance
      Returns:
        the validator

    - #### validator

          public Validator validator(JsonSchema schema,
                                     JsonSchemaOptions options,
                                     boolean dereference)

      A new validator instance overriding this repository options.
      Parameters:
        `schema` - the start validation schema
        `options` - the options to be using on the validator instance
        `dereference` - if true the schema will be dereferenced before validation
      Returns:
        the validator

    - #### resolve

          public JsonObject resolve(JsonObject schema)

      Resolve all `$ref` in the given . The resolution algrithm is not aware of other specifications. When resolving OpenAPI documents (which only allow `$ref` at specific locations) you should validate if the document is valid before performing a resolution. It is important to note that any sibling elements of a `$ref` is ignored. This is because `$ref` works by replacing itself and everything on its level with the definition it is pointing at.
      Parameters:
        `schema` - the JSON object to resolve.
      Returns:
        a new JSON object with all the `$ref` replaced by actual object references.

    - #### resolve

          public JsonObject resolve(String ref)

      Tries to resolve all internal and repository local references. External references are not resolved.

      The result is an object where all references have been resolved. Resolution of circular references is shallow. This should normally not be a problem for this use case.

      Parameters:
        `ref` - the start resolution reference in JSON pointer format
      Returns:
        a new representing the schema with `$ref`s replaced by their value.

    - #### resolve

          public JsonObject resolve(JsonSchema schema)

      Tries to resolve all internal and repository local references. External references are not resolved.

      The result is an object where all references have been resolved. Resolution of circular references is shallow. This should normally not be a problem for this use case.

      Parameters:
        `schema` -
      Returns:
        a new representing the schema with `$ref`s replaced by their value.

    - #### find

          public JsonSchema find(String pointer)

      Look up a schema using a JSON pointer notation
      Parameters:
        `pointer` - the JSON pointer
      Returns:
        the schema

    - #### newInstance

          public static SchemaRepository newInstance(SchemaRepository arg)

Copyright © 2023 Eclipse. All rights reserved.