Class McpPagingProvider<T,R>

java.lang.Object
com.mulesoft.connectors.mcp.internal.client.operation.tool.McpPagingProvider<T,R>
All Implemented Interfaces:
org.mule.runtime.extension.api.runtime.streaming.PagingProvider<io.modelcontextprotocol.client.McpAsyncClient,T>, org.mule.sdk.api.runtime.streaming.PagingProvider<io.modelcontextprotocol.client.McpAsyncClient,T>

public abstract class McpPagingProvider<T,R> extends Object implements org.mule.runtime.extension.api.runtime.streaming.PagingProvider<io.modelcontextprotocol.client.McpAsyncClient,T>
Base class for consuming paged responses
Since:
0.1.0
  • Constructor Details

    • McpPagingProvider

      public McpPagingProvider()
  • Method Details

    • requestNextPage

      protected abstract R requestNextPage(io.modelcontextprotocol.client.McpAsyncClient client, String cursor)
    • asPage

      protected abstract List<T> asPage(R result)
    • getNextCursor

      protected abstract String getNextCursor(R result)
    • getPage

      public final List<T> getPage(io.modelcontextprotocol.client.McpAsyncClient client)
      Specified by:
      getPage in interface org.mule.sdk.api.runtime.streaming.PagingProvider<T,R>
    • getTotalResults

      public final Optional<Integer> getTotalResults(io.modelcontextprotocol.client.McpAsyncClient client)
      Specified by:
      getTotalResults in interface org.mule.sdk.api.runtime.streaming.PagingProvider<T,R>
    • close

      public void close(io.modelcontextprotocol.client.McpAsyncClient client) throws org.mule.runtime.api.exception.MuleException
      Specified by:
      close in interface org.mule.sdk.api.runtime.streaming.PagingProvider<T,R>
      Throws:
      org.mule.runtime.api.exception.MuleException