Class 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 Detail

      • __TYPE_ARG

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

      • SchemaRepository

        public SchemaRepository​(Object delegate)
    • Method Detail

      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • 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