Class McpResourceRegistration.TemplateBuilder
java.lang.Object
com.soklet.McpResourceRegistration.TemplateBuilder
- Enclosing class:
McpResourceRegistration
Mutable builder for an immutable URI-template resource registration.
Template registrations do not advertise a size because the value can vary for each concrete expansion.
- Author:
- Mark Allen
-
Method Summary
Modifier and TypeMethodDescriptionannotations(@NonNull McpContentAnnotations annotations) build()cachePolicy(@NonNull McpCachePolicy cachePolicy) completionHandler(@NonNull McpCompletionHandler completionHandler, @NonNull Set<@NonNull McpProtocolVersion> protocolVersions) Configures the handler for partial URI-template variable suggestions.description(@NonNull String description) Replaces icon descriptors in supplied order.inputRequestDeclarations(@Nullable List<@NonNull McpInputRequestDeclaration> inputRequestDeclarations) Replaces input-request declarations in supplied order.metadata(@NonNull McpJsonObject metadata) requestStateMode(@NonNull McpRequestStateMode requestStateMode) Sets the request-state contract for this resource operation.
-
Method Details
-
title
- Parameters:
title- human-readable title- Returns:
- this builder
-
description
- Parameters:
description- human-readable description- Returns:
- this builder
-
mimeType
- Parameters:
mimeType- syntactically valid resource MIME type- Returns:
- this builder
- Throws:
IllegalArgumentException- ifmimeTypeis malformed
-
icons
public @NonNull McpResourceRegistration.TemplateBuilder icons(@Nullable List<@NonNull McpIcon> icons) Replaces icon descriptors in supplied order. Null or empty clears the property. The complete list is validated and snapshotted before replacing the prior value.- Parameters:
icons- icon descriptors, or null to clear- Returns:
- this builder
- Throws:
NullPointerException- if a list element is null
-
annotations
public @NonNull McpResourceRegistration.TemplateBuilder annotations(@NonNull McpContentAnnotations annotations) - Parameters:
annotations- content annotations- Returns:
- this builder
-
cachePolicy
public @NonNull McpResourceRegistration.TemplateBuilder cachePolicy(@NonNull McpCachePolicy cachePolicy) - Parameters:
cachePolicy- fixed scope and default time to live- Returns:
- this builder
-
inputRequestDeclarations
public @NonNull McpResourceRegistration.TemplateBuilder inputRequestDeclarations(@Nullable List<@NonNull McpInputRequestDeclaration> inputRequestDeclarations) Replaces input-request declarations in supplied order. Null or empty clears the property. The complete list is validated and snapshotted before replacing the prior value.- Parameters:
inputRequestDeclarations- input-request declarations, or null to clear- Returns:
- this builder
- Throws:
NullPointerException- if a list element is null
-
requestStateMode
public @NonNull McpResourceRegistration.TemplateBuilder requestStateMode(@NonNull McpRequestStateMode requestStateMode) Sets the request-state contract for this resource operation.- Parameters:
requestStateMode- request-state mode- Returns:
- this builder
-
metadata
- Parameters:
metadata- protocol extension metadata- Returns:
- this builder
-
completionHandler
public @NonNull McpResourceRegistration.TemplateBuilder completionHandler(@NonNull McpCompletionHandler completionHandler, @NonNull Set<@NonNull McpProtocolVersion> protocolVersions) Configures the handler for partial URI-template variable suggestions. Completion is supported for MCP 2025-06-18, 2025-11-25, and 2026-07-28. Repeated calls replace the previous handler and revision selection.- Parameters:
completionHandler- non-null argument completerprotocolVersions- nonempty subset of this resource's revisions- Returns:
- this builder
-
build
- Returns:
- immutable URI-template resource registration
-