Class Schema
- java.lang.Object
-
- io.vertx.mutiny.json.schema.Schema
-
public class Schema extends Object
Interface representing a Json Schema
A schema could have two states:
- Synchronous: The validators tree can provide a synchronous validation, so you can validate your json both using and
- Asynchronous: One or more branches of the validator tree requires an asynchronous validation, so you must use to validate your json. If you use it will throw a
NoSyncValidationException
To check the schema state you can use method . Note that invoking
NOTE: This class has been automatically generated from thevalidateAsync(java.lang.Object)
generally doesn't have any additional overhead than invokingvalidateSync(java.lang.Object)
.
The schema can mutate the state in time, e.g. if you have a schema that is asynchronous because of a$ref
, after the first validation the external schema is cached insideSchemaRouter
and this schema will switch to synchronous state
original
non Mutiny-ified interface using Vert.x codegen.
-
-
Field Summary
Fields Modifier and Type Field Description static TypeArg<Schema>
__TYPE_ARG
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(Object o)
io.vertx.json.schema.Schema
getDelegate()
Object
getJson()
JsonPointer
getScope()
int
hashCode()
boolean
isSync()
static Schema
newInstance(io.vertx.json.schema.Schema arg)
String
toString()
io.smallrye.mutiny.Uni<Void>
validateAsync(Object json)
Validate the json performing an asynchronous validation.Void
validateAsyncAndAwait(Object json)
Blocking variant ofvalidateAsync(Object)
.void
validateAsyncAndForget(Object json)
Variant ofvalidateAsync(Object)
that ignores the result of the operation.void
validateSync(Object json)
-
-
-
Constructor Detail
-
Schema
public Schema(io.vertx.json.schema.Schema delegate)
-
Schema
public Schema(Object delegate)
-
-
Method Detail
-
getDelegate
public io.vertx.json.schema.Schema getDelegate()
-
validateAsync
public io.smallrye.mutiny.Uni<Void> validateAsync(Object json)
Validate the json performing an asynchronous validation.
Note: If the schema is synchronous, this method will call internally
Unlike the bare Vert.x variant, this method returns a
Uni
. Don't forget to subscribe on it to trigger the operation.- Parameters:
json
- input to validate- Returns:
- the
uni
firing the result of the operation when completed, or a failure if the operation failed.
-
validateAsyncAndAwait
public Void validateAsyncAndAwait(Object json)
Blocking variant ofvalidateAsync(Object)
.This method waits for the completion of the underlying asynchronous operation. If the operation completes successfully, the result is returned, otherwise the failure is thrown (potentially wrapped in a RuntimeException).
- Parameters:
json
- input to validate- Returns:
- the Void instance produced by the operation.
-
validateAsyncAndForget
public void validateAsyncAndForget(Object json)
Variant ofvalidateAsync(Object)
that ignores the result of the operation.This method subscribes on the result of
validateAsync(Object)
, but discards the outcome (item or failure). This method is useful to trigger the asynchronous operation fromvalidateAsync(Object)
but you don't need to compose it with other operations.- Parameters:
json
- input to validate
-
validateSync
public void validateSync(Object json)
- Parameters:
json
- input to validate
-
getScope
public JsonPointer getScope()
- Returns:
- scope of this schema
-
getJson
public Object getJson()
- Returns:
- Json representation of the schema
-
isSync
public boolean isSync()
- Returns:
- true if this validator can provide a synchronous validation.
-
newInstance
public static Schema newInstance(io.vertx.json.schema.Schema arg)
-
-