Java
Pipeline
Pipeline 接口定义了构建和执行组件管道的契约,这些组件可以处理请求并生成响应。它允许向管道添加组件、构建管道以及使用给定的请求异步运行管道。组件可以按特定顺序或根据其类型添加,管道可以使用可选的累积函数来执行,以合并多个组件的结果。
- Type interface
- Package:
com.euonia.pipeline - Author: damon(zhaorong@outlook.com)
- Type Parameters:
<C>— 请求/上下文对象的类型,<R>— 响应对象的类型
Methods¶
use¶
向管道添加组件。该组件定义为一个函数,接收 PipelineDelegate 并返回 PipelineDelegate。
- Parameters:
component(Function<PipelineDelegate<C, R>, PipelineDelegate<C, R>>): 要添加到管道的组件- Returns:
Pipeline<C, R>— 当前管道实例
use¶
在指定索引位置向管道添加组件。该组件定义为一个函数,接收 PipelineDelegate 并返回 PipelineDelegate。
- Parameters:
component(Function<PipelineDelegate<C, R>, PipelineDelegate<C, R>>): 要添加到管道的组件index(int): 添加组件的索引位置- Returns:
Pipeline<C, R>— 当前管道实例
use¶
向管道添加组件。该组件定义为一个 BiFunction,接收请求对象和 PipelineDelegate,并返回响应的 CompletionStage。
- Parameters:
handler(BiFunction<C, PipelineDelegate<C, R>, CompletionStage<R>>): 要添加到管道的处理器- Returns:
Pipeline<C, R>— 当前管道实例
use¶
根据类型向管道添加组件。组件定义为一个类和可选的参数。
- Parameters:
type(Class<?>): 要添加的组件的类类型args(Object...): 组件构造函数的可选参数- Returns:
Pipeline<C, R>— 当前管道实例
useOf¶
根据上下文类型向管道添加组件。组件可以添加在其他组件之前。
- Parameters:
contextType(Class<?>): 组件的上下文类型useAheadOfOthers(boolean): 是否将组件添加在其他组件之前- Returns:
Pipeline<C, R>— 当前管道实例
build¶
构建管道并返回 PipelineDelegate。
- Returns:
PipelineDelegate<C, R>— 构建好的 PipelineDelegate
runAsync¶
使用给定的请求异步运行管道。
- Parameters:
request(C): 要通过管道传递的请求对象- Returns:
CompletionStage<R>— 表示异步执行结果的 CompletionStage
runAsync¶
使用给定的请求和累积函数异步运行管道。
- Parameters:
request(C): 要通过管道传递的请求对象accumulate(Function<C, CompletionStage<R>>): 用于累积多个组件结果的函数- Returns:
CompletionStage<R>— 表示异步执行结果的 CompletionStage