Interface JsonValidator

    • Method Summary

      All Methods Instance Methods Abstract Methods Default Methods 
      Modifier and Type Method Description
      JsonNodePath getEvaluationPath()
      The evaluation path is the set of keys, starting from the schema root, through which evaluation passes to reach the schema object that produced a specific result.
      java.lang.String getKeyword()
      The keyword of the validator.
      SchemaLocation getSchemaLocation()
      The schema location is the canonical URI of the schema object plus a JSON Pointer fragment indicating the subschema that produced a result.
      default void preloadJsonSchema()
      In case the JsonValidator has a related JsonSchema or several ones, calling preloadJsonSchema will actually load the schema document(s) eagerly.
      java.util.Set<ValidationMessage> validate​(ExecutionContext executionContext, com.fasterxml.jackson.databind.JsonNode node, com.fasterxml.jackson.databind.JsonNode rootNode, JsonNodePath instanceLocation)
      Validate the given JsonNode, the given node is the child node of the root node at given data path.
      default java.util.Set<ValidationMessage> walk​(ExecutionContext executionContext, com.fasterxml.jackson.databind.JsonNode node, com.fasterxml.jackson.databind.JsonNode rootNode, JsonNodePath instanceLocation, boolean shouldValidateSchema)
      This is default implementation of walk method.
    • Method Detail

      • validate

        java.util.Set<ValidationMessage> validate​(ExecutionContext executionContext,
                                                  com.fasterxml.jackson.databind.JsonNode node,
                                                  com.fasterxml.jackson.databind.JsonNode rootNode,
                                                  JsonNodePath instanceLocation)
        Validate the given JsonNode, the given node is the child node of the root node at given data path.
        Parameters:
        executionContext - ExecutionContext
        node - JsonNode
        rootNode - JsonNode
        instanceLocation - JsonNodePath
        Returns:
        A list of ValidationMessage if there is any validation error, or an empty list if there is no error.
      • preloadJsonSchema

        default void preloadJsonSchema()
                                throws JsonSchemaException
        In case the JsonValidator has a related JsonSchema or several ones, calling preloadJsonSchema will actually load the schema document(s) eagerly.
        Throws:
        JsonSchemaException - (a RuntimeException) in case the JsonSchema or nested schemas are invalid (like $ref not resolving)
        Since:
        1.0.54
      • walk

        default java.util.Set<ValidationMessage> walk​(ExecutionContext executionContext,
                                                      com.fasterxml.jackson.databind.JsonNode node,
                                                      com.fasterxml.jackson.databind.JsonNode rootNode,
                                                      JsonNodePath instanceLocation,
                                                      boolean shouldValidateSchema)
        This is default implementation of walk method. Its job is to call the validate method if shouldValidateSchema is enabled.
        Specified by:
        walk in interface JsonSchemaWalker
        Parameters:
        executionContext - ExecutionContext
        node - JsonNode
        rootNode - JsonNode
        instanceLocation - JsonNodePath
        shouldValidateSchema - boolean
        Returns:
        a set of validation messages if shouldValidateSchema is true.
      • getSchemaLocation

        SchemaLocation getSchemaLocation()
        The schema location is the canonical URI of the schema object plus a JSON Pointer fragment indicating the subschema that produced a result. In contrast with the evaluation path, the schema location MUST NOT include by-reference applicators such as $ref or $dynamicRef.
        Returns:
        the schema location
      • getEvaluationPath

        JsonNodePath getEvaluationPath()
        The evaluation path is the set of keys, starting from the schema root, through which evaluation passes to reach the schema object that produced a specific result.
        Returns:
        the evaluation path
      • getKeyword

        java.lang.String getKeyword()
        The keyword of the validator.
        Returns:
        the keyword