W3cubDocs

/OpenJDK 25

Interface Gatherer.Integrator<A,T,R>

Type Parameters:
A - the type of state used by this integrator
T - the type of elements this integrator consumes
R - the type of results this integrator can produce
All Known Subinterfaces:
Gatherer.Integrator.Greedy<A,T,R>
Enclosing interface:
Gatherer<T,A,R>
Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
@FunctionalInterface public static interface Gatherer.Integrator<A,T,R>
An Integrator receives elements and processes them, optionally using the supplied state, and optionally sends incremental results downstream.
Since:
24

Nested Class Summary

Modifier and Type Interface Description
static interface  Gatherer.Integrator.Greedy<A,T,R>
Greedy Integrators consume all their input, and may only relay that the downstream does not want more elements.

Method Summary

Modifier and Type Method Description
boolean integrate(A state, T element, Gatherer.Downstream<? super R> downstream)
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.Integrator<A,T,R> of(Gatherer.Integrator<A,T,R> integrator)
Factory method for turning Integrator-shaped lambdas into Integrators.
static <A,T,R> Gatherer.Integrator.Greedy<A,T,R> ofGreedy(Gatherer.Integrator.Greedy<A,T,R> greedy)
Factory method for turning Integrator-shaped lambdas into Gatherer.Integrator.Greedy Integrators.

Method Details

integrate

boolean integrate(A state, T element, Gatherer.Downstream<? super R> downstream)
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 into
element - The element to integrate
downstream - The downstream object of this integration
Returns:
true if subsequent integration is desired, false if not

of

static <A,T,R> Gatherer.Integrator<A,T,R> of(Gatherer.Integrator<A,T,R> integrator)
Factory method for turning Integrator-shaped lambdas into Integrators.
Type Parameters:
A - the type of state used by this integrator
T - the type of elements this integrator receives
R - 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,R> Gatherer.Integrator.Greedy<A,T,R> ofGreedy(Gatherer.Integrator.Greedy<A,T,R> greedy)
Factory method for turning Integrator-shaped lambdas into Gatherer.Integrator.Greedy Integrators.
Type Parameters:
A - the type of state used by this integrator
T - the type of elements this integrator receives
R - 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

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/stream/Gatherer.Integrator.html