Switch branches/tags
Nothing to show
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


What is pipeline?

Pipeline is an implementation of a chain of nodes for processing values asynchronously, that can be configured in an elegant way by fluent interface. Similar to java 8 stream api, but with stream api you must have your values in advance (in a collection). So if you don't have them (eg.: you receive values from user input), then you need something else. This is what pipeline chain is, a structure of chained processor nodes and a given output. Then putting values to the pipeline, that will go through it, and triggers the given output (or not if a node filter value out). You can filter, map, peek values like with Streams, but can't aggregate because the value count is infinite, not like Streams.

A simple example

Consumer<String> pipeline = Pipeline.ofInputType(String.class)
		.map(s -> s.trim())
		.map(s -> s.toLowerCase())
		.filter(new DuplicateSkipper<>())
		.to(s -> System.out.println(s))

more info...