Class AsyncMcpResourceListChangedMethodCallback
java.lang.Object
org.springaicommunity.mcp.method.changed.resource.AbstractMcpResourceListChangedMethodCallback
org.springaicommunity.mcp.method.changed.resource.AsyncMcpResourceListChangedMethodCallback
- All Implemented Interfaces:
Function<List<io.modelcontextprotocol.spec.McpSchema.Resource>,reactor.core.publisher.Mono<Void>>
public final class AsyncMcpResourceListChangedMethodCallback
extends AbstractMcpResourceListChangedMethodCallback
implements Function<List<io.modelcontextprotocol.spec.McpSchema.Resource>,reactor.core.publisher.Mono<Void>>
Class for creating Function callbacks around resource list changed consumer methods
that return Mono.
This class provides a way to convert methods annotated with
McpResourceListChanged into callback functions that can be used to handle
resource list change notifications in a reactive way. It supports methods with a single
List<McpSchema.Resource> parameter.- Author:
- Christian Tzolov
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classBuilder for creating AsyncMcpResourceListChangedMethodCallback instances.Nested classes/interfaces inherited from class org.springaicommunity.mcp.method.changed.resource.AbstractMcpResourceListChangedMethodCallback
AbstractMcpResourceListChangedMethodCallback.AbstractBuilder<T extends AbstractMcpResourceListChangedMethodCallback.AbstractBuilder<T,R>, R>, AbstractMcpResourceListChangedMethodCallback.McpResourceListChangedConsumerMethodException -
Field Summary
Fields inherited from class org.springaicommunity.mcp.method.changed.resource.AbstractMcpResourceListChangedMethodCallback
bean, method -
Method Summary
Modifier and TypeMethodDescriptionreactor.core.publisher.Mono<Void>Apply the callback to the given resource list.builder()Create a new builder.protected voidvalidateReturnType(Method method) Validates that the method return type is compatible with the resource list changed consumer callback.Methods inherited from class org.springaicommunity.mcp.method.changed.resource.AbstractMcpResourceListChangedMethodCallback
buildArgs, validateMethod, validateParameters
-
Method Details
-
apply
public reactor.core.publisher.Mono<Void> apply(List<io.modelcontextprotocol.spec.McpSchema.Resource> updatedResources) Apply the callback to the given resource list.This method builds the arguments for the method call, invokes the method, and returns a Mono that completes when the method execution is done.
- Specified by:
applyin interfaceFunction<List<io.modelcontextprotocol.spec.McpSchema.Resource>,reactor.core.publisher.Mono<Void>> - Parameters:
updatedResources- The updated list of resources, must not be null- Returns:
- A Mono that completes when the method execution is done
- Throws:
AbstractMcpResourceListChangedMethodCallback.McpResourceListChangedConsumerMethodException- if there is an error invoking the resource list changed consumer methodIllegalArgumentException- if the updatedResources is null
-
validateReturnType
Validates that the method return type is compatible with the resource list changed consumer callback.- Specified by:
validateReturnTypein classAbstractMcpResourceListChangedMethodCallback- Parameters:
method- The method to validate- Throws:
IllegalArgumentException- if the return type is not compatible
-
builder
Create a new builder.- Returns:
- A new builder instance
-