Class SchemaRepository

java.lang.Object
io.vertx.rxjava3.json.schema.SchemaRepository
All Implemented Interfaces:
io.vertx.lang.rx.RxDelegate

public class SchemaRepository extends Object implements io.vertx.lang.rx.RxDelegate
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 Details

    • __TYPE_ARG

      public static final io.vertx.lang.rx.TypeArg<SchemaRepository> __TYPE_ARG
  • Constructor Details

    • SchemaRepository

      public SchemaRepository(SchemaRepository delegate)
    • SchemaRepository

      public SchemaRepository(Object delegate)
  • Method Details

    • 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()
      Specified by:
      getDelegate in interface io.vertx.lang.rx.RxDelegate
    • create

      public static SchemaRepository create(JsonSchemaOptions options)
      Create a repository with some initial configuration.
      Parameters:
      options - the initial configuration
      Returns:
      a repository
    • create

      public static SchemaRepository create(JsonSchemaOptions options, JsonFormatValidator jsonFormatValidator)
      Create a repository with some initial configuration.
      Parameters:
      options - the initial configuration
      jsonFormatValidator -
      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.
    • 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)