Class JacksonUtils

java.lang.Object
org.forgerock.api.jackson.JacksonUtils

public final class JacksonUtils extends Object
Some utilities for dealing with Jackson schemas.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final com.fasterxml.jackson.databind.ObjectMapper
    A public static ObjectMapper instance, so that they do not have to be instantiated all over the place, as they are expensive to construct.
  • Method Summary

    Modifier and Type
    Method
    Description
    static com.fasterxml.jackson.module.jsonSchema.JsonSchema
    schemaFor(Class<?> type)
    Obtain the JsonSchema for a type, using the extended schema classes that are in this package.
    static boolean
    validateJsonToSchema(String json, com.fasterxml.jackson.module.jsonSchema.JsonSchema schema)
    Validate that the provided JSON conforms to the schema.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • OBJECT_MAPPER

      public static final com.fasterxml.jackson.databind.ObjectMapper OBJECT_MAPPER
      A public static ObjectMapper instance, so that they do not have to be instantiated all over the place, as they are expensive to construct. Note that the SerializationFeature.WRITE_DATES_AS_TIMESTAMPS option is disabled, so that dates will be in JSON Schema v4 format (e.g., "type":"string", "format":"date-time").
  • Method Details

    • validateJsonToSchema

      public static boolean validateJsonToSchema(String json, com.fasterxml.jackson.module.jsonSchema.JsonSchema schema) throws javax.validation.ValidationException
      Validate that the provided JSON conforms to the schema.
      Parameters:
      json - JSON content.
      schema - The schema. Must be an instance of one of the extended schema classes in this package.
      Returns:
      true if schema implements ValidatableSchema and was validated and false otherwise
      Throws:
      javax.validation.ValidationException - If the JSON does not conform to the schema.
    • schemaFor

      public static com.fasterxml.jackson.module.jsonSchema.JsonSchema schemaFor(Class<?> type) throws com.fasterxml.jackson.databind.JsonMappingException
      Obtain the JsonSchema for a type, using the extended schema classes that are in this package.
      Parameters:
      type - The class to get a schema for.
      Returns:
      The schema.
      Throws:
      com.fasterxml.jackson.databind.JsonMappingException - If the type cannot be mapped to a schema by Jackson.