Class QueryPolymorph
java.lang.Object
org.chenile.query.service.impl.QueryPolymorph
- All Implemented Interfaces:
org.chenile.mcp.model.ChenilePolymorphProvider
public class QueryPolymorph
extends Object
implements org.chenile.mcp.model.ChenilePolymorphProvider
This must be used for Chenile Query entry point in the controller.
Exposes one MCP tool variant per discovered query definition.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final ObjectMapperprivate final QueryDefinitions -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate ObjectNodebooleanNode(String description) (package private) StringbuildSearchRequestSchema(QueryMetadata queryMetadata) private Stringdescription(QueryMetadata queryMetadata) private StringdescriptionFor(String columnName, ColumnMetadata columnMetadata) private ObjectNodefilterSchema(String columnName, ColumnMetadata columnMetadata) private ObjectNodefiltersNode(QueryMetadata queryMetadata) private ObjectNodefreeFormObjectNode(String description) List<org.chenile.mcp.model.ChenilePolymorphVariant> getVariants(ChenileServiceDefinition serviceDefinition, OperationDefinition operationDefinition) private ObjectNodeintegerNode(String description) private StringparameterName(OperationDefinition operationDefinition, int index, String fallback) private StringsanitizeVariantSuffix(String queryName) private ObjectNodescalarSchema(ColumnMetadata columnMetadata) private ObjectNodesortCriteriaNode(QueryMetadata queryMetadata) private ObjectNodestringArrayNode(String description) private ObjectNodestringNode(String description)
-
Field Details
-
OBJECT_MAPPER
-
queryDefinitions
-
-
Constructor Details
-
QueryPolymorph
-
-
Method Details
-
getVariants
public List<org.chenile.mcp.model.ChenilePolymorphVariant> getVariants(ChenileServiceDefinition serviceDefinition, OperationDefinition operationDefinition) - Specified by:
getVariantsin interfaceorg.chenile.mcp.model.ChenilePolymorphProvider
-
description
-
parameterName
-
sanitizeVariantSuffix
-
buildSearchRequestSchema
-
filtersNode
-
filterSchema
-
scalarSchema
-
descriptionFor
-
integerNode
-
booleanNode
-
stringNode
-
stringArrayNode
-
freeFormObjectNode
-
sortCriteriaNode
-