java.lang.Object
com.fasterxml.jackson.databind.jsonFormatVisitors.JsonMapFormatVisitor.Base
com.fasterxml.jackson.module.jsonSchema.jakarta.factories.MapVisitor
All Implemented Interfaces:
com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitorWithSerializerProvider, com.fasterxml.jackson.databind.jsonFormatVisitors.JsonMapFormatVisitor, JsonSchemaProducer, Visitor

public class MapVisitor extends com.fasterxml.jackson.databind.jsonFormatVisitors.JsonMapFormatVisitor.Base implements JsonSchemaProducer, Visitor
While JSON Schema does not have notion of "Map" type (unlimited property names), Jackson has, so the distinction is exposed. We will need to handle it here, produce JSON Schema Object type.
  • Nested Class Summary

    Nested classes/interfaces inherited from interface com.fasterxml.jackson.databind.jsonFormatVisitors.JsonMapFormatVisitor

    com.fasterxml.jackson.databind.jsonFormatVisitors.JsonMapFormatVisitor.Base
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected com.fasterxml.jackson.databind.SerializerProvider
     
    protected final ObjectSchema
     
     
     

    Fields inherited from class com.fasterxml.jackson.databind.jsonFormatVisitors.JsonMapFormatVisitor.Base

    _provider
  • Constructor Summary

    Constructors
    Constructor
    Description
    MapVisitor(com.fasterxml.jackson.databind.SerializerProvider provider, ObjectSchema schema)
     
    MapVisitor(com.fasterxml.jackson.databind.SerializerProvider provider, ObjectSchema schema, WrapperFactory wrapperFactory)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    com.fasterxml.jackson.databind.SerializerProvider
     
     
    void
    keyFormat(com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitable handler, com.fasterxml.jackson.databind.JavaType keyType)
     
    protected JsonSchema
    propertySchema(com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitable handler, com.fasterxml.jackson.databind.JavaType propertyTypeHint)
     
    void
    setProvider(com.fasterxml.jackson.databind.SerializerProvider p)
     
     
    void
    valueFormat(com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitable handler, com.fasterxml.jackson.databind.JavaType valueType)
     

    Methods inherited from class java.lang.Object

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

    • schema

      protected final ObjectSchema schema
    • provider

      protected com.fasterxml.jackson.databind.SerializerProvider provider
    • wrapperFactory

      private WrapperFactory wrapperFactory
    • visitorContext

      private VisitorContext visitorContext
  • Constructor Details

    • MapVisitor

      public MapVisitor(com.fasterxml.jackson.databind.SerializerProvider provider, ObjectSchema schema)
    • MapVisitor

      public MapVisitor(com.fasterxml.jackson.databind.SerializerProvider provider, ObjectSchema schema, WrapperFactory wrapperFactory)
  • Method Details

    • getSchema

      public ObjectSchema getSchema()
      Specified by:
      getSchema in interface JsonSchemaProducer
    • getProvider

      public com.fasterxml.jackson.databind.SerializerProvider getProvider()
      Specified by:
      getProvider in interface com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitorWithSerializerProvider
      Overrides:
      getProvider in class com.fasterxml.jackson.databind.jsonFormatVisitors.JsonMapFormatVisitor.Base
    • setProvider

      public void setProvider(com.fasterxml.jackson.databind.SerializerProvider p)
      Specified by:
      setProvider in interface com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitorWithSerializerProvider
      Overrides:
      setProvider in class com.fasterxml.jackson.databind.jsonFormatVisitors.JsonMapFormatVisitor.Base
    • keyFormat

      public void keyFormat(com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitable handler, com.fasterxml.jackson.databind.JavaType keyType) throws com.fasterxml.jackson.databind.JsonMappingException
      Specified by:
      keyFormat in interface com.fasterxml.jackson.databind.jsonFormatVisitors.JsonMapFormatVisitor
      Overrides:
      keyFormat in class com.fasterxml.jackson.databind.jsonFormatVisitors.JsonMapFormatVisitor.Base
      Throws:
      com.fasterxml.jackson.databind.JsonMappingException
    • valueFormat

      public void valueFormat(com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitable handler, com.fasterxml.jackson.databind.JavaType valueType) throws com.fasterxml.jackson.databind.JsonMappingException
      Specified by:
      valueFormat in interface com.fasterxml.jackson.databind.jsonFormatVisitors.JsonMapFormatVisitor
      Overrides:
      valueFormat in class com.fasterxml.jackson.databind.jsonFormatVisitors.JsonMapFormatVisitor.Base
      Throws:
      com.fasterxml.jackson.databind.JsonMappingException
    • propertySchema

      protected JsonSchema propertySchema(com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitable handler, com.fasterxml.jackson.databind.JavaType propertyTypeHint) throws com.fasterxml.jackson.databind.JsonMappingException
      Throws:
      com.fasterxml.jackson.databind.JsonMappingException
    • setVisitorContext

      public Visitor setVisitorContext(VisitorContext rvc)
      Specified by:
      setVisitorContext in interface Visitor