com.groupbyinc.common.jackson.databind.jsonschema.SchemaAware Maven / Gradle / Ivy
package com.fasterxml.jackson.databind.jsonschema;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.SerializerProvider;
import java.lang.reflect.Type;
/**
* Marker interface for schema-aware serializers.
*/
public interface SchemaAware
{
/**
* Get the representation of the schema to which this serializer will conform.
*
* @param provider The serializer provider.
* @param typeHint A hint about the type.
* @return Json-schema for this serializer.
*/
public JsonNode getSchema(SerializerProvider provider, Type typeHint)
throws JsonMappingException;
/**
* Get the representation of the schema to which this serializer will conform.
*
* @param provider The serializer provider.
* @param isOptional Is the type optional
* @param typeHint A hint about the type.
* @return Json-schema for this serializer.
*/
public JsonNode getSchema(SerializerProvider provider, Type typeHint, boolean isOptional)
throws JsonMappingException;
}