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.
/** * Marker interface for schema-aware serializers. */
public interface SchemaAware {
Get the representation of the schema to which this serializer will conform.
Params:
  • provider – The serializer provider.
  • typeHint – A hint about the type.
Returns:Json-schema for this serializer.
/** * 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.
Params:
  • provider – The serializer provider.
  • isOptional – Is the type optional
  • typeHint – A hint about the type.
Returns:Json-schema for this serializer.
/** * 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; }