java.lang.Object
ai.docling.serve.client.operations.HttpOperations
ai.docling.serve.client.DoclingServeClient
- All Implemented Interfaces:
ai.docling.serve.api.DoclingServeApi,ai.docling.serve.api.DoclingServeChunkApi,ai.docling.serve.api.DoclingServeClearApi,ai.docling.serve.api.DoclingServeConvertApi,ai.docling.serve.api.DoclingServeHealthApi,ai.docling.serve.api.DoclingServeTaskApi
- Direct Known Subclasses:
DoclingServeJackson2Client,DoclingServeJackson3Client
public abstract class DoclingServeClient
extends HttpOperations
implements ai.docling.serve.api.DoclingServeApi
Abstract class representing a client for interacting with the Docling API.
This class handles the foundational functionality needed to perform HTTP requests to the Docling API, with customizable base URL and HTTP client configurations. It provides abstract methods for JSON serialization and deserialization, allowing implementation-specific customization.
The client is structured hierarchically, with separate nested implementations
for each API interface (DoclingServeHealthApi, DoclingServeConvertApi,
DoclingServeChunkApi, DoclingServeClearApi, DoclingServeTaskApi).
These implementations share common HTTP execution logic and configuration.
Concrete subclasses must implement readValue(String, Class) and
writeValueAsString(Object) for serialization and deserialization behavior.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classDoclingServeClient.DoclingServeClientBuilder<C extends DoclingServeClient,B extends DoclingServeClient.DoclingServeClientBuilder<C, B>> Abstract base class for building instances ofDoclingServeClient.Nested classes/interfaces inherited from interface ai.docling.serve.api.DoclingServeApi
ai.docling.serve.api.DoclingServeApi.DoclingApiBuilder<T extends ai.docling.serve.api.DoclingServeApi,B extends ai.docling.serve.api.DoclingServeApi.DoclingApiBuilder<T, B>> -
Field Summary
FieldsFields inherited from class ai.docling.serve.client.operations.HttpOperations
API_KEY_HEADER_NAME -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected -
Method Summary
Modifier and TypeMethodDescriptionai.docling.serve.api.chunk.response.ChunkDocumentResponsechunkSourceWithHierarchicalChunker(ai.docling.serve.api.chunk.request.HierarchicalChunkDocumentRequest request) CompletionStage<ai.docling.serve.api.chunk.response.ChunkDocumentResponse>chunkSourceWithHierarchicalChunkerAsync(ai.docling.serve.api.chunk.request.HierarchicalChunkDocumentRequest request) ai.docling.serve.api.chunk.response.ChunkDocumentResponsechunkSourceWithHybridChunker(ai.docling.serve.api.chunk.request.HybridChunkDocumentRequest request) CompletionStage<ai.docling.serve.api.chunk.response.ChunkDocumentResponse>chunkSourceWithHybridChunkerAsync(ai.docling.serve.api.chunk.request.HybridChunkDocumentRequest request) ai.docling.serve.api.chunk.response.ChunkDocumentResponsechunkTaskResult(ai.docling.serve.api.task.request.TaskResultRequest request) ai.docling.serve.api.clear.response.ClearResponseclearConverters(ai.docling.serve.api.clear.request.ClearConvertersRequest request) ai.docling.serve.api.clear.response.ClearResponseclearResults(ai.docling.serve.api.clear.request.ClearResultsRequest request) ai.docling.serve.api.convert.response.ConvertDocumentResponseconvertSource(ai.docling.serve.api.convert.request.ConvertDocumentRequest request) CompletionStage<ai.docling.serve.api.convert.response.ConvertDocumentResponse>convertSourceAsync(ai.docling.serve.api.convert.request.ConvertDocumentRequest request) ai.docling.serve.api.convert.response.ConvertDocumentResponseconvertTaskResult(ai.docling.serve.api.task.request.TaskResultRequest request) protected <I,O> HttpRequest.Builder createRequestBuilder(RequestContext<I, O> requestContext) protected <T> Texecute(HttpRequest request, Class<T> expectedValueType) protected <I,O> O executeGet(RequestContext<I, O> requestContext) Executes an HTTP GET request using the details specified in the providedRequestContext.protected <I,O> O executePost(RequestContext<I, O> requestContext) Executes an HTTP POST request using the details provided in theRequestContext.protected <T> TgetResponse(HttpResponse<String> response, Class<T> expectedReturnType) ai.docling.serve.api.health.HealthCheckResponsehealth()protected voidlogRequest(HttpRequest request) protected voidlogResponse(HttpResponse<String> response, Optional<String> responseBody) ai.docling.serve.api.task.response.TaskStatusPollResponsepollTaskStatus(ai.docling.serve.api.task.request.TaskStatusPollRequest request) protected booleanprotected abstract <T> TReads and deserializes the given JSON string into an instance of the specified type.protected abstract <T> StringwriteValueAsString(T value) Serializes the given object into its JSON string representation.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface ai.docling.serve.api.DoclingServeApi
toBuilderMethods inherited from interface ai.docling.serve.api.DoclingServeChunkApi
chunkFilesWithHierarchicalChunker, chunkFilesWithHierarchicalChunker, chunkFilesWithHierarchicalChunkerAsync, chunkFilesWithHierarchicalChunkerAsync, chunkFilesWithHybridChunker, chunkFilesWithHybridChunker, chunkFilesWithHybridChunkerAsync, chunkFilesWithHybridChunkerAsyncMethods inherited from interface ai.docling.serve.api.DoclingServeConvertApi
convertFiles, convertFiles, convertFilesAsync, convertFilesAsync
-
Field Details
-
DEFAULT_BASE_URL
-
-
Constructor Details
-
DoclingServeClient
-
-
Method Details
-
readValue
Reads and deserializes the given JSON string into an instance of the specified type.- Type Parameters:
T- the type of the object to be deserialized- Parameters:
json- the JSON string to deserialize; must not benullvalueType- theClassof the target type; must not benull- Returns:
- an instance of
Tdeserialized from the provided JSON - Throws:
RuntimeException- if the JSON parsing fails
-
writeValueAsString
Serializes the given object into its JSON string representation.- Type Parameters:
T- the type of the object to serialize- Parameters:
value- the object to serialize; must not benull- Returns:
- the JSON string representation of the given object
- Throws:
RuntimeException- if serialization fails
-
prettyPrintJson
protected boolean prettyPrintJson() -
logRequest
-
logResponse
-
execute
-
executePost
Description copied from class:HttpOperationsExecutes an HTTP POST request using the details provided in theRequestContext. This method is designed to be implemented by subclasses and facilitates sending POST requests with a specified request payload and receiving a deserialized response.- Specified by:
executePostin classHttpOperations- Type Parameters:
I- the type of the request payloadO- the type of the response object- Parameters:
requestContext- the context containing details such as the URI, request payload, and expected response type of the POST operation- Returns:
- an instance of the response type
O, which represents the deserialized response data
-
executeGet
Description copied from class:HttpOperationsExecutes an HTTP GET request using the details specified in the providedRequestContext.- Specified by:
executeGetin classHttpOperations- Type Parameters:
I- the type of the request payloadO- the type of the response object- Parameters:
requestContext- the context containing details such as the URI, request payload, and expected response type of the GET operation- Returns:
- an instance of the response type
O, which represents the deserialized response data
-
createRequestBuilder
-
getResponse
-
health
public ai.docling.serve.api.health.HealthCheckResponse health()- Specified by:
healthin interfaceai.docling.serve.api.DoclingServeHealthApi
-
convertSource
public ai.docling.serve.api.convert.response.ConvertDocumentResponse convertSource(ai.docling.serve.api.convert.request.ConvertDocumentRequest request) - Specified by:
convertSourcein interfaceai.docling.serve.api.DoclingServeConvertApi
-
chunkSourceWithHierarchicalChunker
public ai.docling.serve.api.chunk.response.ChunkDocumentResponse chunkSourceWithHierarchicalChunker(ai.docling.serve.api.chunk.request.HierarchicalChunkDocumentRequest request) - Specified by:
chunkSourceWithHierarchicalChunkerin interfaceai.docling.serve.api.DoclingServeChunkApi
-
chunkSourceWithHybridChunker
public ai.docling.serve.api.chunk.response.ChunkDocumentResponse chunkSourceWithHybridChunker(ai.docling.serve.api.chunk.request.HybridChunkDocumentRequest request) - Specified by:
chunkSourceWithHybridChunkerin interfaceai.docling.serve.api.DoclingServeChunkApi
-
chunkSourceWithHierarchicalChunkerAsync
public CompletionStage<ai.docling.serve.api.chunk.response.ChunkDocumentResponse> chunkSourceWithHierarchicalChunkerAsync(ai.docling.serve.api.chunk.request.HierarchicalChunkDocumentRequest request) - Specified by:
chunkSourceWithHierarchicalChunkerAsyncin interfaceai.docling.serve.api.DoclingServeChunkApi
-
chunkSourceWithHybridChunkerAsync
public CompletionStage<ai.docling.serve.api.chunk.response.ChunkDocumentResponse> chunkSourceWithHybridChunkerAsync(ai.docling.serve.api.chunk.request.HybridChunkDocumentRequest request) - Specified by:
chunkSourceWithHybridChunkerAsyncin interfaceai.docling.serve.api.DoclingServeChunkApi
-
pollTaskStatus
public ai.docling.serve.api.task.response.TaskStatusPollResponse pollTaskStatus(ai.docling.serve.api.task.request.TaskStatusPollRequest request) - Specified by:
pollTaskStatusin interfaceai.docling.serve.api.DoclingServeTaskApi
-
convertTaskResult
public ai.docling.serve.api.convert.response.ConvertDocumentResponse convertTaskResult(ai.docling.serve.api.task.request.TaskResultRequest request) - Specified by:
convertTaskResultin interfaceai.docling.serve.api.DoclingServeTaskApi
-
chunkTaskResult
public ai.docling.serve.api.chunk.response.ChunkDocumentResponse chunkTaskResult(ai.docling.serve.api.task.request.TaskResultRequest request) - Specified by:
chunkTaskResultin interfaceai.docling.serve.api.DoclingServeTaskApi
-
clearConverters
public ai.docling.serve.api.clear.response.ClearResponse clearConverters(ai.docling.serve.api.clear.request.ClearConvertersRequest request) - Specified by:
clearConvertersin interfaceai.docling.serve.api.DoclingServeClearApi
-
clearResults
public ai.docling.serve.api.clear.response.ClearResponse clearResults(ai.docling.serve.api.clear.request.ClearResultsRequest request) - Specified by:
clearResultsin interfaceai.docling.serve.api.DoclingServeClearApi
-
convertSourceAsync
public CompletionStage<ai.docling.serve.api.convert.response.ConvertDocumentResponse> convertSourceAsync(ai.docling.serve.api.convert.request.ConvertDocumentRequest request) - Specified by:
convertSourceAsyncin interfaceai.docling.serve.api.DoclingServeConvertApi
-