- Type Parameters:
A
- the type of state used by this integratorT
- the type of elements this integrator consumesR
- the type of results this integrator can produce
- All Known Subinterfaces:
Gatherer.Integrator.GreedyPREVIEW<A,
T, R>
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
Integrator
is a preview API of the Java platform.
Preview features may be removed in a future release, or upgraded to permanent features of the Java platform.
An Integrator receives elements and processes them,
optionally using the supplied state, and optionally sends incremental
results downstream.
- Since:
- 22
-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic interface
Preview.Greedy Integrators consume all their input, and may only relay that the downstream does not want more elements. -
Method Summary
Modifier and TypeMethodDescriptionboolean
Performs an action given: the current state, the next element, and a downstream object; potentially inspecting and/or updating the state, optionally sending any number of elements downstream -- and then returns whether more elements are to be consumed or not.static <A,
T, R> Gatherer.IntegratorPREVIEW <A, T, R> of
(Gatherer.IntegratorPREVIEW<A, T, R> integrator) Factory method for turning Integrator-shaped lambdas into Integrators.static <A,
T, R> Gatherer.Integrator.GreedyPREVIEW <A, T, R> ofGreedy
(Gatherer.Integrator.GreedyPREVIEW<A, T, R> greedy) Factory method for turning Integrator-shaped lambdas intoGatherer.Integrator.Greedy
PREVIEW Integrators.
-
Method Details
-
integrate
Performs an action given: the current state, the next element, and a downstream object; potentially inspecting and/or updating the state, optionally sending any number of elements downstream -- and then returns whether more elements are to be consumed or not.- Parameters:
state
- The state to integrate intoelement
- The element to integratedownstream
- The downstream object of this integration- Returns:
true
if subsequent integration is desired,false
if not
-
of
Factory method for turning Integrator-shaped lambdas into Integrators.- Type Parameters:
A
- the type of state used by this integratorT
- the type of elements this integrator receivesR
- the type of results this integrator can produce- Parameters:
integrator
- a lambda to create as Integrator- Returns:
- the given lambda as an Integrator
-
ofGreedy
static <A,T, Gatherer.Integrator.GreedyPREVIEW<A,R> T, ofGreedyR> (Gatherer.Integrator.GreedyPREVIEW<A, T, R> greedy) Factory method for turning Integrator-shaped lambdas intoGatherer.Integrator.Greedy
PREVIEW Integrators.- Type Parameters:
A
- the type of state used by this integratorT
- the type of elements this integrator receivesR
- the type of results this integrator can produce- Parameters:
greedy
- a lambda to create as Integrator.Greedy- Returns:
- the given lambda as a Greedy Integrator
-
Integrator
when preview features are enabled.