@Version("1.1.0")
Package io.wcm.caravan.pipeline
JSON Pipeline API
-
Interface Summary Interface Description JsonPipeline A pipeline aids consuming/orchestrating services to transform, merge and cache JSON responses from aCaravanHttpClient
and allows to select only specific parts of the JSON tree with a JsonPath expression (usingJsonPipeline.collect(String, String)
) merge all content of another pipeline into a new property of its own result document (usingJsonPipeline.merge(JsonPipeline, String)
) cache the original result, or the result of any transformation/aggregation step (usingJsonPipeline.addCachePoint(CacheStrategy)
access the overall output either as a JacksonJsonNode
, a JSON string, or as a type-mapped Java object Note thatJsonPipeline
's are immutable.JsonPipelineAction A JSON pipeline action aids in specifying of custom operations, which could be applied onJsonPipelineOutput
.JsonPipelineContext The context from which a given pipeline instance was created.JsonPipelineExceptionHandler A functional interface that allow users of the JsonPipeline to specify custom exception handling for 404 responses and other server-side or network exceptions viaJsonPipeline.handleException(JsonPipelineExceptionHandler)
.JsonPipelineFactory JSON Pipeline factory service interface.JsonPipelineOutput The immutable output of aJsonPipeline
's processing step: the main JSON content payload, and additional metadata about the status and cachability of the content. -
Class Summary Class Description JsonPipelineActions Default implementations ofJsonPipelineAction
JsonPipelineExceptionHandlers Contains some common exception handling strategies to be used withJsonPipeline.handleException(JsonPipelineExceptionHandler)
-
Exception Summary Exception Description JsonPipelineInputException Used to indicate that the JSON input data of aJsonPipeline
could not be retrieved, was invalid JSON, or didn't match the expected data structure.JsonPipelineOutputException Used to indicate a problem while creating the output of aJsonPipeline
(most likely due to an impossible type-mapping).