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 <a href="http://json-schema.org/">Json-schema</a> 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 <a href="http://json-schema.org/">Json-schema</a> for this serializer. */ public JsonNode getSchema(SerializerProvider provider, Type typeHint, boolean isOptional) throws JsonMappingException; }