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.GreedyPREVIEW<A,T,R>
Enclosing interface:
GathererPREVIEW<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>
Integrator is a preview API of the Java platform.
Programs can only use Integrator when preview features are enabled.
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
  • Method Details

    • integrate

      boolean integrate(A state, T element, Gatherer.DownstreamPREVIEW<? 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.IntegratorPREVIEW<A,T,R> of(Gatherer.IntegratorPREVIEW<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.GreedyPREVIEW<A,T,R> ofGreedy(Gatherer.Integrator.GreedyPREVIEW<A,T,R> greedy)
      Factory method for turning Integrator-shaped lambdas into Gatherer.Integrator.GreedyPREVIEW 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