AbstractPipeline
abstract class AbstractPipeline<Output : Any>(val context: <Error class: unknown class>, val chain: PipelineChainLink) : Pipeline<Output> (source)
Helper class to implement Pipeline.
Notes for implementors
When implementing a new type of pipeline, the main requirement is to override the return tpe of all existing stage methods to return the same type as the current instance. This sadly has to be done manually because Kotlin doesn't have self-types.
When overriding the stage methods, avoid doing anything other than down-casting the resulting pipeline.
You will also need to implement withStage. Note how creating an instance of AbstractPipeline requires passing a PipelineChainLink. PipelineChainLink implements all complex methods from Pipeline for you.