Class 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 validateAsync(java.lang.Object) generally doesn't have any additional overhead than invoking validateSync(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 inside SchemaRouter and this schema will switch to synchronous state

    NOTE: This class has been automatically generated from the original non Mutiny-ified interface using Vert.x codegen.

    • 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()
      • hashCode

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