Interface JsonSchema


public interface JsonSchema
A Json-Schema holder.

There are 2 kinds of Json-Schema's:

  • JSON Object based
  • Boolean based

This is a common interface to handle all kinds of schemas.

Author:
Paulo Lopes
  • Field Details

    • EXCLUDE_ANNOTATIONS

      static final Predicate<String> EXCLUDE_ANNOTATIONS
      Predicate to filter out annotation keys.
    • EXCLUDE_ANNOTATION_ENTRIES

      static final Predicate<Map.Entry<String,Object>> EXCLUDE_ANNOTATION_ENTRIES
      Predicate to filter out annotation keys.
  • Method Details

    • of

      static JsonSchema of(JsonObject json)
      Factory method to create a JsonSchema from a JsonObject.
      Parameters:
      json - a JSON Object.
      Returns:
      a wrapper for the input object.
    • of

      static JsonSchema of(String id, JsonObject json)
      Factory method to create a JsonSchema from a JsonObject.
      Parameters:
      id - will force the given id as the schema $id.
      json - a JSON Object.
      Returns:
      a wrapper for the input object.
    • of

      static JsonSchema of(boolean bool)
      Factory method to create a JsonSchema from a Boolean.
      Parameters:
      bool - a boolean.
      Returns:
      a wrapper for the input object.
    • annotate

      JsonSchema annotate(String key, String value)
      Annotates the schema. An annotation is a extra key-value added to the schema that are not relevant for validation but can be used to store pre-computed state.
      Parameters:
      key - a key
      value - a value
    • get

      <R> R get(String key)
      Get a type casted value by key.
      Parameters:
      key - a key
      Returns:
      the value or null
    • get

      <R> R get(String key, R fallback)
      Get a type casted value by key. If the key is missing, then the fallback value is returned.
      Parameters:
      key - a key
      fallback - fallback when key is not present
      Returns:
      the value or null
    • containsKey

      boolean containsKey(String key)
      Checks if the given key is present in the schema object.
      Parameters:
      key - a key
      Returns:
      true if present
    • fieldNames

      Set<String> fieldNames()
      Returns the field names on the underlying object.
      Returns:
      field names