io.vertx.json.schema.common

## Class RecursiveRefSchema

- java.lang.Object
- - io.vertx.json.schema.common.BaseMutableStateValidator
  - - io.vertx.json.schema.common.SchemaImpl
    - - io.vertx.json.schema.common.RecursiveRefSchema

- All Implemented Interfaces:
    AsyncValidator, MutableStateValidator, PriorityGetter, SchemaInternal, SyncValidator, Validator, Schema

      public class RecursiveRefSchema
      extends SchemaImpl

- - ### Field Summary

    - ### Fields inherited from class io.vertx.json.schema.common.SchemaImpl

      `shouldRecordContext`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `RecursiveRefSchema(JsonObject schema, JsonPointer scope, SchemaParser schemaParser, MutableStateValidator parent)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `checkSync()`
    `protected ValidatorContext` | `generateValidationContext(SchemaInternal schema, ValidatorContext parent)`
    `Future<Object>` | `getOrApplyDefaultAsync(Object input)`
    `Object` | `getOrApplyDefaultSync(Object input)`
    `boolean` | `isSync()` Returns true if this validator can actually provide a synchronous validation
    `Future<Void>` | `validateAsync(ValidatorContext inContext, Object in)` Return a Future that succeed when the validation succeed, while fail with a `ValidationException` when validation fails
    `void` | `validateSync(ValidatorContext context, Object in)` Validate the provided value

    - ### Methods inherited from class io.vertx.json.schema.common.SchemaImpl

      `calculateIsSync, generateValidationContext, getJson, getScope, runAsyncValidators, runSyncValidator, triggerUpdateIsSync, validateAsync, validateSync`

    - ### Methods inherited from class io.vertx.json.schema.common.BaseMutableStateValidator

      `getParent, getPriority, initializeIsSync, validateSyncAsAsync`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface io.vertx.json.schema.common.PriorityGetter

      `getPriority`

- - ### Constructor Detail

    - #### RecursiveRefSchema

          public RecursiveRefSchema(JsonObject schema,
                                    JsonPointer scope,
                                    SchemaParser schemaParser,
                                    MutableStateValidator parent)

  - ### Method Detail

    - #### validateAsync

          public Future<Void> validateAsync(ValidatorContext inContext,
                                            Object in)

      Description copied from interface: `AsyncValidator`
      Return a Future that succeed when the validation succeed, while fail with a `ValidationException` when validation fails
      Specified by:
        `validateAsync` in interface `AsyncValidator`
      Overrides:
        `validateAsync` in class `SchemaImpl`
      Returns:

    - #### validateSync

          public void validateSync(ValidatorContext context,
                                   Object in)
                            throws ValidationException

      Description copied from interface: `SyncValidator`
      Validate the provided value
      Specified by:
        `validateSync` in interface `SyncValidator`
      Overrides:
        `validateSync` in class `SchemaImpl`
      Throws:
        `ValidationException` - if the object is not valid

    - #### isSync

          public boolean isSync()

      Description copied from interface: `Validator`
      Returns true if this validator can actually provide a synchronous validation
      Specified by:
        `isSync` in interface `Validator`
      Specified by:
        `isSync` in interface `Schema`
      Overrides:
        `isSync` in class `BaseMutableStateValidator`
      Returns:
        true if this validator can provide a synchronous validation.

    - #### checkSync

          protected void checkSync()
                            throws ValidationException,
                                   NoSyncValidationException

      Overrides:
        `checkSync` in class `BaseMutableStateValidator`
      Throws:
        `ValidationException`
        `NoSyncValidationException`

    - #### generateValidationContext

          protected ValidatorContext generateValidationContext(SchemaInternal schema,
                                                               ValidatorContext parent)

    - #### getOrApplyDefaultAsync

          public Future<Object> getOrApplyDefaultAsync(Object input)

      Specified by:
        `getOrApplyDefaultAsync` in interface `SchemaInternal`
      Overrides:
        `getOrApplyDefaultAsync` in class `SchemaImpl`

    - #### getOrApplyDefaultSync

          public Object getOrApplyDefaultSync(Object input)

      Specified by:
        `getOrApplyDefaultSync` in interface `SchemaInternal`
      Overrides:
        `getOrApplyDefaultSync` in class `SchemaImpl`

Copyright © 2022 Eclipse. All rights reserved.