Package io.vertx.reactivex.json.schema
Class SchemaRepository
- java.lang.Object
-
- io.vertx.reactivex.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 theoriginal
non RX-ified interface using Vert.x codegen.
-
-
Field Summary
Fields Modifier and Type Field Description static TypeArg<SchemaRepository>
__TYPE_ARG
-
Constructor Summary
Constructors Constructor Description SchemaRepository(SchemaRepository delegate)
SchemaRepository(Object delegate)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method 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 notationSchemaRepository
getDelegate()
int
hashCode()
static SchemaRepository
newInstance(SchemaRepository arg)
SchemaRepository
preloadMetaSchema(FileSystem fs)
Preloads the repository with the meta schemas for the related @linkDraft
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.
-
-
-
Field Detail
-
__TYPE_ARG
public static final TypeArg<SchemaRepository> __TYPE_ARG
-
-
Constructor Detail
-
SchemaRepository
public SchemaRepository(SchemaRepository delegate)
-
SchemaRepository
public SchemaRepository(Object delegate)
-
-
Method Detail
-
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 toJsonSchemaOptions
.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 @linkDraft
version. The related draft version is determined from theJsonSchemaOptions
, in case that no draft is set in the options anIllegalStateException
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 classpathdraft
- 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 formatoptions
- 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 schemaoptions
- 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 schemaoptions
- the options to be using on the validator instancedereference
- 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)
-
-