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
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumOptions for customizing the behavior of the module. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected -
Method Summary
Modifier and TypeMethodDescriptionvoidapplyToConfigBuilder(com.github.victools.jsonschema.generator.SchemaGeneratorConfigBuilder builder) protected abstract @Nullable StringresolveToolParamDescription(com.github.victools.jsonschema.generator.MemberScope<?, ?> member) Extract the description from the tool-param annotation for the given member, or returnnullif the annotation is absent or its description is blank.protected abstract @Nullable BooleanresolveToolParamRequired(com.github.victools.jsonschema.generator.MemberScope<?, ?> member) Extract the required flag from the tool-param annotation for the given member, or returnnullif the annotation is absent.
-
Constructor Details
-
AbstractSpringAiSchemaModule
-
-
Method Details
-
applyToConfigBuilder
public void applyToConfigBuilder(com.github.victools.jsonschema.generator.SchemaGeneratorConfigBuilder builder) - Specified by:
applyToConfigBuilderin interfacecom.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 returnnullif 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 returnnullif the annotation is absent.
-