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.

    • 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.
      • 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 $refs 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 $refs 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