Class AbstractSpringAiSchemaModule

java.lang.Object
org.springframework.ai.util.json.schema.AbstractSpringAiSchemaModule
All Implemented Interfaces:
com.github.victools.jsonschema.generator.Module
Direct Known Subclasses:
McpSpringAiSchemaModule, SpringAiSchemaModule

public abstract class AbstractSpringAiSchemaModule extends Object implements com.github.victools.jsonschema.generator.Module
Abstract base for JSON Schema Generator Modules in Spring AI.

Provides shared logic for description resolution and required-field determination, delegating annotation-specific lookups to subclasses via resolveToolParamDescription(com.github.victools.jsonschema.generator.MemberScope<?, ?>) and resolveToolParamRequired(com.github.victools.jsonschema.generator.MemberScope<?, ?>).

Since:
1.0.0
Author:
Thomas Vitale, Christian Tzolov
  • Constructor Details

  • Method Details

    • applyToConfigBuilder

      public void applyToConfigBuilder(com.github.victools.jsonschema.generator.SchemaGeneratorConfigBuilder builder)
      Specified by:
      applyToConfigBuilder in interface com.github.victools.jsonschema.generator.Module
    • resolveToolParamDescription

      protected abstract @Nullable String resolveToolParamDescription(com.github.victools.jsonschema.generator.MemberScope<?,?> member)
      Extract the description from the tool-param annotation for the given member, or return null if the annotation is absent or its description is blank.
    • resolveToolParamRequired

      protected abstract @Nullable Boolean resolveToolParamRequired(com.github.victools.jsonschema.generator.MemberScope<?,?> member)
      Extract the required flag from the tool-param annotation for the given member, or return null if the annotation is absent.